Grep
僅使用 grep 僅查找第一次出現
假設我有一個包含很多單詞的文件,我只想找到模式為“xyz”的第一個單詞。如果在同一行上有多個具有此模式的單詞,我該怎麼辦?
-m
返回它匹配的第一行中的所有單詞。我只需要 grep 命令。
預設情況下
grep
列印與模式匹配的行,因此如果模式在一行中出現一次或多次,grep
將列印整行。添加標誌
-m 7
將告訴grep
僅列印模式出現的前 7 行。所以這應該做你想要的(我沒有測試過):
grep -o -m 1 xyz myfile | head -1
編輯:正如@Kusalananda 所指出的,您並不嚴格需要該
-m
標誌,但使用它意味著grep
不需要解析整個文件,並且會更快地輸出結果,特別是如果myfile
是一個大文件。