シェルスクリプト(awk)でCSVデータの行合計、列合計を算出する
Contents
はじめに
あまり AWK が得意ではないのでエントリで取り扱うことがありませんでしたが、csvファイルの行合計、列合計を求める作業をしたためエントリにまとめました。
検証環境
準備:テスト用のcsvデータ
今回は awk
を使って行の合計、列の合計を算出してみようと思います。
算出操作を紹介する際に利用するテストデータを事前に準備します。
適当なデータファイルとして data.csv を作成します。
作成された data.csv のデータは以下のようになっています。
awk
で各行の合計を算出する方法
awk
コマンドを使い、各行に対して、5列の値を合計し出力してみたいと思います。
各列の区切り文字として「カンマ ( ,
)」を利用したい場合には、 -F,
というオプションを指定します。
NF
は各行ごとの列数を表す変数です。
今回は NF = 5
となっています。
awk
で各列の合計を算出する方法
sum
という連想配列に、 各列ごとの合計値を加算していきます。
各行の処理が終了した後、列ごとの合計値を出力します。
出力結果は改行され、5行出力されています。
(おまけ) q
コマンドが使える場合
過去のエントリで取り上げた q
コマンドが使える場合は、SQLで集計を行うことができます。
ひとこと
ループの開始条件、終了条件を調整すれば、一部の行、列の合計を行うこともできます。
2行目〜4行目の合計を算出
2列目〜4列目の合計を算出
ディスカッション
コメント一覧
まだ、コメントがありません