shell 文件中排重


文件为:
a|+|123|+|0|+|-|
b|+|222|+|1|+|-|
c|+|222|+|0|+|-|
a|+|123|+|0|+|-|
a|+|123|+|0|+|-|
c|+|222|+|0|+|-|

根据第一个域和第二个域排重,并把重复的记录写入临时文件
a|+|123|+|0|+|-|
a|+|123|+|0|+|-|
a|+|123|+|0|+|-|
c|+|222|+|0|+|-|
c|+|222|+|0|+|-|

shell

熙熙的煦煦 9 years, 9 months ago

假设文件名为file,你可以尝试一下:

awk -F\' -v OFS=\' '{a[$1]+=$3;T=$2}END{for(i in a){print i,T,a[i]}}'  file
西行寺幽々孒 answered 9 years, 8 months ago

Your Answer