在谷歌NGRAM格式與此類似:grep檢索google ngram條目的正確語法是什麼?
apollo_. 2008 6 5
apollonia_NOUN 1760 1 1
apollo.5 1760 1 1
apollo 2008 6 5
如果我只是想拔出包含單詞「阿波羅」行沒有後綴會有什麼正確的grep命令是什麼?
在谷歌NGRAM格式與此類似:grep檢索google ngram條目的正確語法是什麼?
apollo_. 2008 6 5
apollonia_NOUN 1760 1 1
apollo.5 1760 1 1
apollo 2008 6 5
如果我只是想拔出包含單詞「阿波羅」行沒有後綴會有什麼正確的grep命令是什麼?
對於這個數據集,你可以這樣做:
$ grep '^apollo\s' file
apollo 2008 6 5
也就是說grep
開始與apollo
+空格字符行。有關這種與grep
匹配的選項有:
-w,--word,正則表達式
只選擇那些含有形成全字匹配行。測試是匹配子字符串必須位於行首,或者以非單詞組成字符開頭。 類似地,它必須位於行尾,或者後面跟着一個非單詞組成字符。單詞組成字符是字母,數字和下劃線。
X,--line,正則表達式
只選擇那些比賽,整個線完全匹配。 (-x是由POSIX指定。)
您還可以使用\b
的正則表達式選項相匹配的字邊界但是這和grep
-w
選項由於標點符號失敗就行apollo.5
該特定數據.
後apollo
。
這應該做的伎倆:
perl -lne 'print if(/\bapollo(\s+|$)/)' your_file
這些都不能防止格式與。被發現。例如,它去掉apollonia_NOUN但不是apollo.5 –
@chris ...更新...請立即檢查。 – Vijay
如果阿波羅出現在線的末尾怎麼辦? – Vijay
@Vijay然後你會使用適當的解決方案,該數據集。 OP已經很清楚他的問題,一個正則表達式來統治它們並不是必需的。 –
太好了 - 謝謝! –