2013-07-10 46 views
3

這是我的文件。Grep命令提取獨特的詞

this is temp1 
this is temp2 
this is temp3 
this is temp1 
this is tempabc 

如何使用grep命令,雖然尋找模式「溫度」,其結果應顯示爲唯一的「temp1中,TEMP2,TEMP3,tempabc」,只有唯一碼字。

感謝

回答

6

只顯示開始temp獨特的話:如果有包含`temp`字之後額外的話

$ grep -o '\btemp\w*' file | sort -u 
temp1 
temp2 
temp3 
tempabc 
+0

好的,這個工作!謝謝 – bookishq

+0

好的,因爲它幾乎和我的答案一樣,我會刪除我的。爲'\ b' +1,我不知道這是必要的。 – fedorqui

2

grep做不到uniq獨自一人,髒,快速,你可以:

grep -o '\btemp.*' file|awk '!a[$0]++' 

例如

kent$ echo "this is temp1 
this is temp2 
this is temp3 
this is temp1 
this is tempabc"|grep -o '\btemp.*'|awk '!a[$0]++' 
temp1 
temp2 
temp3 
tempabc 

實際上,您可以在awk中做到這一點。

+1

將無法​​正常工作。 – dogbane

+0

@dogbane真的,我的正則表達式不是很好。可以是'\ btemp \ S *'這樣的方式,所有非空字符都包括在內,例如, 'temp3 @ - #001' thx指出來 – Kent