awkの式がtrueの回数を数えます。

awkの式がtrueの回数を数えます。

Unix / awkコードから

デフォルトでは、ファイル(data1.txt)を繰り返し、ファイルの各行に対してsubstr($ 0,29,2)== "04"の回数を計算する必要があります。

データ1.txt:

6597243042 20160305001100003140152852153019000127000200
6597243042 20160305001100003140170306190306020000000200
6597243042 20160305001100003140170552190552020000000200
6597243042 20160305001100003140201430201543000113000400
6592311319 20160305041100003460072719072839000120001200
6592311319 20160305041100003460072927072952000025001200

この場合、ファイル(data1.txt)の2行のみ条件(substr($ 0,29,2)== "04")を満たします。

私はこれを行う方法を探していました。

以下は私のUnix / awkコードです。

Filename="def"
file="data1.txt"
#awk '{count1=0}'
while IFS= read line
do

   awk '{ if (substr($0,29,2)=="04") {print substr($0,29,4)}}' 

done <"$file"

これをどのように計算しますか?

ベストアンサー1

egrep別の方法(使用されていないことを避けて使用するArchemar + kosに感謝します-c

grep -cE '^.{28}04' data1.txt

おすすめ記事