我對「.txt」處理有一些功課。 我想在他們開始到grep通過準確的整數線:grepping整數從行開始bash
grep -hw ^$grep_id ....
而grep_id是確切的整數,我需要。
但它給我,例如錯誤的結果,如果我有文件名爲 「.txt」 是這樣的:
2
21
30
如果2 grepping,我得到:
2
21
有什麼辦法去做吧?
我對「.txt」處理有一些功課。 我想在他們開始到grep通過準確的整數線:grepping整數從行開始bash
grep -hw ^$grep_id ....
而grep_id是確切的整數,我需要。
但它給我,例如錯誤的結果,如果我有文件名爲 「.txt」 是這樣的:
2
21
30
如果2 grepping,我得到:
2
21
有什麼辦法去做吧?
此正則表達式將只匹配給定$grep_id
(使用任何非數字字符作爲結束分隔符):
grep -hw "^$grep_id[^0-9]*" ...
感謝傢伙我有我的輸入另一個問題,它工作正常 – Emad
我成功地使用:
grep "^${grep_id}\([^0-9]\|$\)"
我不知道,爲什麼,但是grep -hw^2 ./1.txt對我來說工作正常,返回2,沒有21. -w這是工作。沒有-2,它給出了2和21 – user4035
這個命令也適用於我。你有沒有檢查過grep_id是你想要的數字,沒有結尾字符?如果這個問題沒有解決,我建議檢查你的'grep'/coreutils安裝的完整性 - 例如你確定它運行的是正確的grep,而不是像BusyBox grep這樣的縮減版本? – kampu