2013-07-10 64 views
2

這是我的文件。grep命令提取一個詞

this is temp1 
    this is temp2 
    this is temp3 

如何使用grep命令,雖然尋找模式「溫度」,結果應該是裏顯示爲唯一的「temp1中,TEMP2,TEMP3」,而不是整個句子。

感謝

回答

6

您可以使用-o選項

$ grep -o "temp[0-9]" 
+0

謝謝你這麼much.And什麼,如果我想提取不同的話,如果我有重複的話? – bookishq

+0

也許你可以使用uniq命令... grep -o「temp [0-9]」| uniq的 – ymonad

1

你可能會想結合使用grepsed。 sed使用perl風格的正則表達式,併爲您提供更多的模式匹配能力(在我看來)。這將讓得到您需要的東西:

grep temp yourFileName | sed -e "s/.*(temp[0-9]*).*/\1/" 

但是,如果你需要的不僅僅是溫度[數字]更多,你可以匹配「TEMP」然後繼續匹配,直到你打一個空格。這將這樣的伎倆:

grep temp yourFileName | sed -e "s/.*(temp[^ ]*).*/\1/" 

您可能還需要逃跑的支架,如果這是在命令行:

grep temp yourFileName | sed -e "s/.*\(temp[^ ]*\).*/\1/"