UNIXシェルスクリプト第10章 Part7

指定したフィールドの値を集計するシェルスクリプト addcolumn

awk '{total+=$'$COLUMN'} END {print total}'

awkコマンドは複数行のデータを処理する。

処理する内容をシングルクォートで囲まなくてはならないので、

$COLUMNはシングルクォートから外している。

END の後に記述した内容は複数行の処理を全部終わってから最後にやることを示す。

awkコマンドに渡すデータが : で句切られていたりする場合、

awk -F: という指定でフィールドセパレータを指示すればOK。

また、フィールド番号が負の数や0の場合はエラーを吐くのでチェックが必要。