Grep

僅使用 grep 僅查找第一次出現

  • November 23, 2021

假設我有一個包含很多單詞的文件,我只想找到模式為“xyz”的第一個單詞。如果在同一行上有多個具有此模式的單詞,我該怎麼辦? -m返回它匹配的第一行中的所有單詞。我只需要 grep 命令。

預設情況下grep列印與模式匹配的,因此如果模式在一行中出現一次或多次,grep將列印整行。

添加標誌-m 7將告訴grep僅列印模式出現的前 7 行。

所以這應該做你想要的(我沒有測試過):

grep -o -m 1 xyz myfile | head -1

編輯:正如@Kusalananda 所指出的,您並不嚴格需要該-m標誌,但使用它意味著grep不需要解析整個文件,並且會更快地輸出結果,特別是如果myfile是一個大文件。

引用自:https://unix.stackexchange.com/questions/358523