Grepと一致する行数の計算

Grepと一致する行数の計算

私は、ログファイルからレポートを取得するために使用するかなり複雑なgrepとawkパターンを持っています。私はうまく機能し、必要な人に電子メールで送信する素晴らしい軽量HTMLテーブルを作成しました。

各セクション(各grep)にそのセクションの要素数を追加したいと思います。

grep -cは役に立ちません。ただ数を返します。各セクションの各ログファイルの前にgrepを2回実行したくありません。

すべては、HTMLを生成するbashスクリプト内で実行されます。 CSSを使用して行番号を付けることができますが、合計数を取得するのが良いでしょう。

grep / awkは複数行の長さで、最後にhtmlを生成するawkです。

 ...| awk '{print "<tr><td class=\"rightq\"> \
 <a href=\"mailto:[email protected]?Subject=\ 
 "ENVIRON["DAY"]"%20"$1"&Body="ENVIRON["aBODY"]"\">" \
 $1"</a></td><td class=\"rightz\">"$2"</td><td>"$4"</td></tr>"}'

ベストアンサー1

努力する

... | awk '{ print "..." ; c++} 
  END { printf "<tr><th>%d lines</th>...</tr>",c}' 

どこ

  • c行数を計算します(パイプの前にgrepが発生すると仮定します)
  • END特別な awk 文が実行されます。 ..athが終了します。

おすすめ記事