我有两个文件,我想根据匹配的模式替换 file1 中的某些行和来自 file2 的行,不带删除 file1 中 file2 中没有匹配项的行。
File1:
1 a
2 b
3 d
4 c
文件2:
2 banana
4 chocolate
文件3:
1 a
2 banana
3 d
4 chocolate
这就是我所拥有的:
加入-11 -21 -e0 -o'1.1,2.2'<(sort -k1 file1.txt)<(sort -k1 file2.txt)> file3.txt
...但它删除了file2中没有匹配的行。
答案 0 :(得分:1)
关注awk
可能对您有帮助。
awk 'FNR==NR{a[$1]=$2;next} {print $1,$1 in a?a[$1]:$2}' OFS="\t" Input_file2 Input_file1
将> file3.txt
添加到上面的代码中,以便将输出输出到名为file3.txt
的输出文件中。