※MACターミナル(BSD系)での動作確認です。
スポンサーリンク
grepの-nオプションで行番号と検索行を表示
grepの-nオプションで行番号と検索行をセットで表示できます。
例えば、下記のin.txtがあったとします。
$ cat in.txt kensakufind kensakuawk kensakused linegrep kensaku3
"kensaku"の文字列を行番号とセットで検索するには、下記のように-nオプションを指定します。
$ grep -n "kensaku" in.txt
下記が実行結果になります。
$ grep -n "kensaku" in.txt 1:kensakufind 2:kensakuawk 3:kensakused 5:kensaku3
スポンサーリンク
nlコマンドとgrepを組み合わせて、行番号を表示
下記のように、nlコマンドとgrepを組み合わせて、行番号を表示することもできます。
$ nl in.txt | grep "kensaku"
下記が実行結果になります。
$ nl in.txt | grep "kensaku" 1 kensakufind 2 kensakuawk 3 kensakused 5 kensaku3
grep時に行番号のみ表示する方法
下記のように、"|"でawkとつないて、":"で区切った1列目を表示することで、行番号のみ表示できます。
$ grep -n "kensaku" in.txt | awk -F ':' '{print $1}'
下記が実行結果になります。
$ grep -n "kensaku" in.txt | awk -F ':' '{print $1}' 1 2 3 5
スポンサーリンク