grep結果から数値を追加する

grep結果から数値を追加する

次のコマンドを実行します。

grep -o "[0-9] errors" verification_report_3.txt | awk '{print $1}'

私は次のような結果を得ます。

1
4
0
8

各数値を累積数変数に追加したいと思います。誰かがマジックライナーを作るのに役立ちますか?

答え1

grep -o "[0-9] errors" verification_report_3.txt | awk '{ SUM += $1} END { print SUM }'

リストは印刷されませんが、合計は印刷されます。リストと合計が必要な場合は、次のようにできます。

grep -o "[0-9] errors" verification_report_3.txt | awk '{ SUM += $1; print $1} END { print SUM }'

答え2

これはawkでも行うことができます。

awk '"[0-9]+ errors" {sum += $1}; END {print sum}' verification_report_3.txt

答え3

使ってるみたいですね牛に似た一種の栄養システム、そうであれば真珠正規表現のサポートが可能で、次のように書くことができます。

grep -Po '[0-9]+(?=\s+errors)' infile | 
  paste -sd+ | 
    bc

PS番号> 9を許可するように正規表現(追加+数量子)を修正しました。

PSまたはawkで十分です(家庭GNU awk):

awk 'END { print s }
/[0-9]+[[:space:]]+errors/ { 
  s += $1 
  }' infile

答え4

grepの出力をパイプで接続してみてください。

awk 'BEGIN {total=0;}{total+=$1;}END {print "Total: ",total}'

関連情報