多くの単語を含むファイルがあり、パターン「xyz」の最初の単語のみを検索したいとします。同じ行にこのパターンの単語が複数ある場合はどうすればよいですか?
-m 一致する最初の行のすべての単語を返します。 grepコマンドだけが必要です。
承認された回答:
デフォルトでは、grep 行を印刷します パターンに一致するため、パターンが1行に複数回出現する場合は、grep その行全体を印刷します。
フラグを追加する-m 7 grepに通知します パターンが表示される最初の7行のみを印刷します。
したがって、これはあなたが望むことをするはずです(私はそれをテストしていません):
grep -o -m 1 xyz myfile | head -1
編集:@Kusalanandaが指摘しているように、-mは厳密には必要ありません。 フラグですが、それを使用することはgrepを意味します ファイル全体を解析する必要はなく、特にmyfileの場合、結果をより速く出力します。 大きなファイルです。