単語の多いファイルがあり、「xyz」パターンを持つ最初の単語を探したいとしましょう。同じ行にこのパターンを含む単語が複数ある場合はどうなりますか?
-m
一致する最初の行のすべての単語を返します。 grepコマンドだけが必要です。
答え1
デフォルトではgrep
印刷ワイヤーパターンと一致するため、パターンが1行に1回以上表示されると、行全体がgrep
印刷されます。
このフラグを追加すると、モード発生の最初の7行だけを印刷するように-m 7
指示されます。grep
したがって、必要に応じて動作する必要があります(まだテストしていません)。
grep -o -m 1 xyz myfile | head -1
-m
編集:@Kusalanandaが指摘したように、このフラグは必ずしも必要ではありませんが、それを使用するとファイル全体を解析する必要はなく、特に大容量ファイルの grep
場合は結果がより速く出力されます。myfile
答え2
あなたの質問に対する答えはgrepのマニュアルページにあります。
grep -m1 'searchstring' file_name
オプション-m<number>
が重要です。-m1
最初の一致、-m2
最初の2つの一致などが表示されます。