grep 出力をフォーマットして、行末に行番号とヒット数を表示するにはどうすればよいですか? 質問する

grep 出力をフォーマットして、行末に行番号とヒット数を表示するにはどうすればよいですか? 質問する

ファイル内の文字列を一致させるために grep を使用しています。以下はサンプルファイルです:

example one,
example two null,
example three,
example four null,

grep -i null myfile.txt戻り値

example two null,
example four null,

次のように一致した行を行番号とともに返すにはどうすればよいですか。

  example two null, - Line number : 2
  example four null, - Line number : 4
  Total null count : 2

-c は一致した行の合計を返すことは知っていますが、先頭に追加するために適切にフォーマットする方法total null countと、行番号を追加する方法がわかりません。

私に何ができる?

ベストアンサー1

-n行番号を返します。

-i大文字と小文字を区別しません。大文字と小文字を区別する必要がない場合にのみ使用します。

$ grep -in null myfile.txt

2:example two null,
4:example four null,

と組み合わせるとawk、一致後の行番号が出力されます。

$ grep -in null myfile.txt | awk -F: '{print $2" - Line number : "$1}'

example two null, - Line number : 2
example four null, - Line number : 4

コマンド置換を使用して、合計 null カウントを出力します。

$ echo "Total null count :" $(grep -ic null myfile.txt)

Total null count : 2

おすすめ記事