2013-09-24 41 views

回答

0

對於這個數據集,你可以這樣做:

$ grep '^apollo\s' file 
apollo   2008 6 5 

也就是說grep開始與apollo +空格字符行。有關這種與grep匹配的選項有:

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

只選擇那些含有形成全字匹配行。測試是匹配子字符串必須位於行首,或者以非單詞組成字符開頭。 類似地,它必須位於行尾,或者後面跟着一個非單詞組成字符。單詞組成字符是字母,數字和下劃線。

X,--line,正則表達式

只選擇那些比賽,整個線完全匹配。 (-x是由POSIX指定。)

您還可以使用\b的正則表達式選項相匹配的字邊界但是這和grep-w選項由於標點符號失敗就行apollo.5該特定數據.apollo

+0

如果阿波羅出現在線的末尾怎麼辦? – Vijay

+0

@Vijay然後你會使用適當的解決方案,該數據集。 OP已經很清楚他的問題,一個正則表達式來統治它們並不是必需的。 –

+1

太好了 - 謝謝! –

0

這應該做的伎倆:

perl -lne 'print if(/\bapollo(\s+|$)/)' your_file 
+0

這些都不能防止格式與。被發現。例如,它去掉apollonia_NOUN但不是apollo.5 –

+0

@chris ...更新...請立即檢查。 – Vijay