2017-03-07 25 views
1

我有一個文件爲:輸出所需的文本僅

$ cat file 
. 
. 
4h 
5h 
6h 
7h 
. 
. 
. 
16h 
17h 
18h 
. 
. 

我要輸出僅具有「6H」和「7H」,但使用以下awk的線還選擇了「16小時」和「17小時」 :(

的awk '/ 6H/||/7H/{}打印' 文件

我怎樣才能使它只選擇 '6H' 和 '7H' 沒有 '16小時' 和 '17小時'。 如果任何其他命令更輕鬆地執行此任務,則AWK不是強制性的。

+0

http://stackoverflow.com/a/4800246/171318 – hek2mgl

回答

-1

隨着grep精確匹配運營商:

grep -w "6h\|7h" file 

從grep的手冊:

-w,--word,正則表達式

只選擇那些包含構成整個單詞的匹配的行。測試是匹配子字符串必須位於行首,或者以非單詞組成字符開頭。同樣,它必須位於行尾,或者後面跟着一個非單詞組成字符。單詞組成字符是字母,數字和下劃線。

+0

這也會匹配包含'123 7h'的行,例如 – hek2mgl

3

如何:

grep '^[67]h' file