カンマ区切りの数値をawkで処理して和を計算
796 ワード
ちょっとした作業の合間に和を計算したいと思ったが、わざわざ何かの言語を書く程ではない。という事で、シェル上で各行の和を計算しようと思ったのだが、うまく行かず試行錯誤に小1時間ほどかかってしまった。次回から同じ轍を踏まなないよう覚書を残しておく。
data.txt
21,569
598,012
1,278,360
...
このようなデータをawkで受け取ると各行を文字列で受け取るため、加減乗除を行うと型変換が行われ、カンマで区切られた最初の数値で計算をしてしまう。gsubでカンマを取り除いて計算をした。
cat data.txt | awk 'BEGIN{sum=0} {gsub(",","",$1)}{sum+=$1} END {print sum}'
Author And Source
この問題について(カンマ区切りの数値をawkで処理して和を計算), 我々は、より多くの情報をここで見つけました https://zenn.dev/schroneko/articles/502ca53a2f11e7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol