shell-awk列別合計

1410 ワード

** 
shell awk和第1列が同時に対応する第2列が加算される
# awk   '{sum[$1]+=$2}END{for(c in sum){print c,sum[c]}}'  
Shellではawkで列ごとの和を求める機能を実現でき、非常に簡単です.
1.簡単に列ごとに和を求める
    # cat num.txt | awk '{sum += $1} END {print sum}'
2.ある条件を満たす行に対して、列によって合計する
    # cat num.txt | awk '/aaa/ {sum += $1} END {print sum}'
3.    : cat you.txt |awk '{a+=$1}END{print a}'
 
4.      :cat you.txt |awk '{a+=$1}END{print a/NR}'
 
5.     :cat you.txt |awk 'BEGIN{a=0}{if ($1>a) a=$1 fi}END{print a}'
         0,        ,       ,    。
 
6.     :cat you.txt |awk 'BEGIN{a=11111}{if ($1  の も の を めます:testを めます.txtの  12 34 56 78 24 65 87 90 76 11 67 87 100 89 78 99 for i in`cat test.txt` ;do echo $i; done |sort |sed -n '1p;2 p′ 2: じくtest.txt  を める:for i in`cat you.txt`;do echo $i ;done|awk'{a+=$1}END{print a}' 3:A 88 B 78 B 89 C 44 A 98 C 433    :
A:88;98  B:78;89  C:44;433     awk '{a[$1]=a[$1]" "$2}END{for(i in a)print i,a[i]}' test.txt |awk '{print $1":",$2";",$3}'   :https://blog.51cto.com/wangqh/2083116