- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:awkで列を集計するシェルについて)
awkで列を集計するシェルについて
このQ&Aのポイント
- シェル初心者の方に向けて、awkを使用して列を集計する方法について解説します。
- あるログファイルをシェルで処理する際に、商店名や商品名の重複を抽出し、それに対応する価格の合計を求める方法について説明します。
- 具体的なコマンドや出力先についても触れながら、シェル初心者でも理解しやすいように説明します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>(1)、(2)の抽出を満たす「価格」の合計を 「抽出を満たす」の論理結合が不明確ですが、 単に、データ中に実在する商店名と商品について (商店名 + 商品)単位に価格を集計する だけであれば awk '{ s[$1,$2] += $3 } END { for( x in s) print x,s[x] }' |sort > shukei.txt で可能と思います。 「A商店」の「ぶどう」は"無い"ということを出力したければ awk '{ ++a[$1];++b[$2];s[$1,$2] += $3} END { for(x in a) for (y in b) print x,y,s[x,y] }' |sort > shukei.txt とか
お礼
回答誠に有難うございます>< 補足の構文も有難う御座います>< 1点、集計の結果で”商店Aりんご200”という出力となり、区切りスペースがなくなってしまうのですが、区切りスペースをそのまま残しての集計出力できる方法は御座いますか>< 実際ログでは商店A商品いずれも文字数で区切りスペースが挿入など今の自分では・・・今一度ご教授いただけると幸いです。よろしくお願いします><