最近看了下awk合并文件,明白后赶紧记一下个人的理解。
用网上的例子:
a.txt内容如下:
a.txt
100 wang man
200 wangsan woman
300 wangming man
400 wangzheng man
b.txt内容如下:
b.txt
100 90 80
200 80 70
300cat a.txt b.txt | sort -n -k1 |awk 'NR%2==1{fd1=$2"\t"$3;next}{print $0"\t"fd1}'
400 70 20
最后要合并成的内容:
100 wang man 90 80
200 wangsan woman 80 70
300 wangming man 60 50
400 wangzheng man 70 20
分析:最终合并文件,第一列相同,剩余内容累加
个人分为两步实现:
第一步:把两个文件合并到一起,按照第一列排序
#cat a.txt b.txt | sort -n -k1
输出内容:
100 90 80
100 wang man
200 80 70
200 wangsan woman
300 60 50
300 wangming man
400 70 20
400 wangzheng man
解释:
sort -n 表示使用纯数字排序&#x