次のコマンドを実行します。
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}'