行長が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