2013-06-02 20 views
0

我對「.txt」處理有一些功課。 我想在他們開始到grep通過準確的整數線:grepping整數從行開始bash

grep -hw ^$grep_id .... 

而grep_id是確切的整數,我需要。

但它給我,例如錯誤的結果,如果我有文件名爲 「.txt」 是這樣的:

2 
21 
30 

如果2 grepping,我得到:

2 
21 

有什麼辦法去做吧?

+0

我不知道,爲什麼,但是grep -hw^2 ./1.txt對我來說工作正常,返回2,沒有21. -w這是工作。沒有-2,它給出了2和21 – user4035

+0

這個命令也適用於我。你有沒有檢查過grep_id是你想要的數字,沒有結尾字符?如果這個問題沒有解決,我建議檢查你的'grep'/coreutils安裝的完整性 - 例如你確定它運行的是正確的grep,而不是像BusyBox grep這樣的縮減版本? – kampu

回答

1

此正則表達式將只匹配給定$grep_id(使用任何非數字字符作爲結束分隔符):

grep -hw "^$grep_id[^0-9]*" ... 
+0

感謝傢伙我有我的輸入另一個問題,它工作正常 – Emad

0

我成功地使用:

grep "^${grep_id}\([^0-9]\|$\)"