码迷,mamicode.com
首页 > 系统相关 > 详细

Linux:不同文件相同列字符合并文件(awk函数)

时间:2018-05-06 17:01:49      阅读:820      评论:0      收藏:0      [点我收藏+]

标签:color   normal   res   ddl   合并   target   内容   com   div   

存在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

  

有道词典
H aa 0 0 0 -9 a ...
详细X
  H aa 0 0 0 9 asd qwe   H bb 0 0 0 9 fgh而无   H cc 0 0 0 9 . jkl uio

Linux:不同文件相同列字符合并文件(awk函数)

标签:color   normal   res   ddl   合并   target   内容   com   div   

原文地址:https://www.cnblogs.com/chenwenyan/p/8998656.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!