我有一个类似的文件:
ast 6 + 0 2
ast 6 + 1 20
ast 7 - 0 0
ast 7 - 1 24
ria 366914 + 0 0
ria 366914 + 0 2
根据第一和第二列分类。它意味着所有相同的价值 第1列和第2列彼此关闭。 我想在第一列和第二列具有相同值时对第4列和第5列求和。
ast 6 + 1 22
ast 7 - 1 24
ria 366914 + 0 2
答案 0 :(得分:1)
使用awk:
awk 'p != $1 OFS $2{if (NR>1) print p, q, s; p=$1 OFS $2; q=$3 OFS $4; s=$5; next} {s+=$5} END{print p, q, s}' file
ast 6 + 0 22
ast 7 - 0 24
ria 366914 + 0 2
答案 1 :(得分:0)
awk '{str=$1 FS $2;a[str]+=$4;b[str]+=$5;c[str]=$3}END{for (i in a) print i,c[i],a[i],b[i]}' infile |sort -k1,1 -k2,2n
ast 6 + 1 22
ast 7 - 1 24
ria 366914 + 0 2