有沒有一種方法能夠使grep輸出從與搜索表達式匹配的文件中輸出的「單詞」? 正則表達式
若是我想在多個文件中找到「 th」的全部實例,則能夠執行如下操做: 工具
grep "th" *
可是輸出將是這樣的(我大膽); 測試
some-text-file : the cat sat on the mat some-other-text-file : the quick brown fox yet-another-text-file : i hope this explains it thoroughly
使用相同的搜索,我但願它輸出的是: ui
the the the this thoroughly
使用grep能夠嗎? 仍是使用其餘工具組合? this
$ grep -w
摘自grep手冊頁: spa
-w:僅選擇那些包含組成整個單詞的匹配項的行。 測試是匹配的子字符串必須在該行的開頭,或者必須在非單詞組成字符以前。 code
grep命令僅用於匹配和perl 文檔
grep -o -P 'th.*? ' filename
我有一個相似的問題,正在尋找grep / pattern regex和「找到匹配的模式」做爲輸出。 字符串
最後,我使用了egrep(在grep -e或-G上的正則表達式沒有給我相同的egrep結果)和-o選項 get
因此,我認爲這可能相似於(我不是正則表達式大師):
egrep -o "the*|this{1}|thoroughly{1}" filename
awk
,無需工具組合。
# awk '{for(i=1;i<=NF;i++){if($i~/^th/){print $i}}}' file the the the this thoroughly
試試grep -o
grep -oh "\w*th\w*" *
編輯:從菲爾的評論匹配
從文檔 :
-h, --no-filename Suppress the prefixing of file names on output. This is the default when there is only one file (or only standard input) to search. -o, --only-matching Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.