重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

シェルスクリプトでcsvの計算をしようと思っています。
less test.txt

A 15 25 22 18
B 22 18 10 30
C 9 31 20 20




スペース区切りで書きましたが、実際にはタブ区切りのtxtファイルになっています。
1列目はID行になっています。

これに対して各行の平均値を出力したいです。
具体的には

A 20
B 20
C 20




といった感じです。
awkがまだ未勉強で行き当っています・・・
やはりawkを使うのが良いのでしょうか?

awkの初心者用のお勉強方法も併せて教えていただけますでしょうか。
よろしくお願いいたします。

A 回答 (3件)

以下のファイルを作成してください。

(ファイル名は"test.awk"とします)
----------------------
BEGIN{
FS="\t"
OFS="\t"
}
{
ave=($2+$3+$4+$5)/4
print $1,ave
}
ーーーーーーーーーーーーーーーーーーー
以下のコマンドを投入してください。(OSはlinuxが前提です。windowsならcatをtypeに変えてください)
cat test.txt | awk -f test.awk
以下、実行結果です。
A 20
B 20
C 20
    • good
    • 0

見つけられない、、、何ですって?


それって初歩の段階で出て来るんじゃないかいな?
ホンマにやる気なら本買ってきなよ。
    • good
    • 0

ま、この手のは awk のサンプル沢山あるだろう、、、

    • good
    • 0
この回答へのお礼

列の平均を求めるサンプルはたくさんあるのですが、行の平均を求めているサンプルがなかなか見つけられなくて・・・。

お礼日時:2018/08/07 19:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!