100より大きい数値を含む行数の計算

100より大きい数値を含む行数の計算

多数の数字(数字のみ、各数字が1行にある)を含むファイルがあります。数値が100(または実際には他の値)より大きい行数を探したいと思います。どうすればいいですか?

ベストアンサー1

このテストファイルを考えてみましょう。

$ cat myfile
98
99
100
101
102
103
104
105

それでは、100より大きい数値を含む行数を計算してみましょう。

$ awk '$1>100{c++} END{print c+0}' myfile
5

どのように動作しますか?

  • $1>100{c++}

    行の数が 100 を超えるたびに、変数はc1 ずつ増加します。

  • END{print c+0}

    ファイルの読み取りが終了すると、変数がc印刷されます。

    0に追加すると、awkはそれを数値として扱うように強制cします。c数字のある行がある場合は、すでに数字>100ですc。それ以外の場合はc空です(ヒント:イルバル)。ここに0を追加すると、空の文字列をaに変更して0より正確な出力を提供します。

おすすめ記事