awk-13

来源:互联网 发布:百度云网络不给力 编辑:程序博客网 时间:2024/05/23 19:34
file1
aaa 111
ccc 222
ddd 333
file2
ccc 555
eee 666
ttt 777
ppp 888
合并后的文件为
ddd 333
eee     666
aaa 111
ttt     777
ppp     888
ccc 222 555
规则:如果file1的第一列有相应的列,第二个没有的话就用空格或者是tab补齐。
处理方法:
 awk  'NR==FNR{a[$1]=$2;next}NR!=FNR{a[$1]=a[$1]?a[$1]" "$2:"\t"$2}END{for(i in a)print i,a[i]}'  file1 file2
前面是进行数组的赋值,后面写的是一种判断,如果a[$1]=a[$1]说明的是前面的元素出现过,如果出现过的话,直接将$2补在后面,如果没有出现过,就输出一个tab,然后在输出文件二中的$2。
0 0
原创粉丝点击