chenwenyan

存在file1.txt,其内容如下:

H aa 0 0 1 -9

H bb 0 0 2 -9

H cc 0 0 2 -9

存在file2.txt,其内容如下:

H aa 0 0 0 -9 asd qwe

H bb 0 0 0 -9 fgh rty

H cc 0 0 0 -9 jkl uio

现希望根据file1和file2相同的列字符合并文件,要求如下:1、如果两个文件的第二列相同,则将file2的第三列、第四列、第五列、第六列修改为file1对应的第三列、第四列、第五列、第六列内容;2、新文件的第七列和第八列为file2的第七列和第八列。

合并的文件file3.txt内容如下:

aa 0 0 1 -9 asd qwe

bb 0 0 2 -9 fgh rty

cc 0 0 2 -9 jkl uio

则用到的命令为:

awk \'NR==FNR{a[$2]=$0;next}NR>FNR{if($2 in a)print a[$1],a[$2],$7,$8}\' file1.txt file2.txt > file3.txt

  

如果想合并两个文件所有的列,则可以使用join函数:

join -1 2 -2 2  file1.txt file2.txt > file4.txt

 

file4.txt 如下所示:

aa H 0 0 1 -9 H 0 0 0 -9 asd qwe

bb H 0 0 2 -9 H 0 0 0 -9 fgh rty

cc H 0 0 2 -9 H 0 0 0 -9 jkl uio

 

分类:

技术点:

相关文章:

  • 2021-06-11
  • 2021-08-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-22
  • 2022-02-26
猜你喜欢
  • 2021-08-04
  • 2021-07-21
  • 2022-01-15
  • 2021-11-12
  • 2022-12-23
  • 2021-08-24
  • 2022-12-23
相关资源
相似解决方案