有一个file1如下:
21,2018042100
22,2018042101
87,2018042102
98,2018042103
有file2如下:
45,2018042100
86,2018042102
87,2018042103
我需要的是:(file3)
2018042100,21,45
2018042101,22,0
2018042102,87,86
2018042103,98,87
在文件3的第2行中,文件1中存在2018042101的数据,但在文件2中不存在。因此,在属于file2的$ 3列中插入了0。
请协助寻找如何创建类似file3的文件。
谢谢。
最佳答案
加入似乎是针对该问题的:
join -t',' -a 1 -a 2 -j 2 file1 file2
2018042100,21,45
2018042101,22
2018042102,87,86
2018042103,98,87
除了第2行中缺少“,0”外,也许您也可以在手册页中找到该问题的解决方案。否则,您可以使用sed纠正该问题。
join -t',' -a 1 -a 2 -e "0" -j 2 file1 file2 | sed -r 's/^[^,]+,[^,]+$/&,0/'
2018042100,21,45
2018042101,22,0
2018042102,87,86
2018042103,98,87
关于linux - 比较Shell脚本中两个不同文件中的两列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49958479/