Awkで指定したフィールドを集計計算する

Awkで指定したフィールドを集計計算するには、次のようにします。

#!/bin/sh
#
# 名称 :addcolumn
# 書式 :addcolumn [column]
# 解説 :標準入力からのデータの何番目かのフィールドを足し算する
#         フィールドの指定がなければ1番目のフィールドを使う
# 戻り値:0 … 正常終了, 1 … ユーザの指定間違い
#
CMDNAME=`basename $0`
if [ $# -gt 1 ]; then
    echo "Usage: $CMDNAME [column]" 1>&2
    exit 1
fi
COLUMN=#{1:-1}

expr "$COLUMN" + 1 >/dev/null 2>&1
if [ $? -ge 2 ]; then
    echo "Usage: $CMDNAME argument is not numeric." 1>&2
    exit 1
fi
awk '{total+=$'$COLUMN'} END {print total}'

同じタグの記事: AWK
同じタグの記事: bash
同じタグの記事: shell script
同じカテゴリの記事: Program
関連書籍: AWK
関連書籍: bash