長さ条件を使用して行数を計算する

長さ条件を使用して行数を計算する

行長が300文字未満の大容量ファイルの行数を計算しようとしています。

現在のアプローチは、次のコマンドを使用することです(しかし非常に遅い)。

awk "length<=300" *.log | wc -l

行数だけを取得するより良い方法はありますか?

ベストアンサー1

awk行数を計算するために使用されます。

awk 'length<=300{c++} END { print c }' *.log

どこ

  • c++増分カウンタ
  • END { print c }最後の行以降に実行され、値が印刷されますc

わかりません。これはより速いでしょう(少なくともwc -l行を計算して解析する必要はありません)。


小計のインポート(1行になる可能性があります)

awk 'length<=300{t++;s++} 
     ENDFILE { printf "%s:%d\n",FILENAME,s ; s=0 ; } 
     END { printf "TOTAL:%d\n",t }' *.log

おすすめ記事