Linux:不同文件相同列字符合并文件(awk函数)
Posted 橙子牛奶糖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux:不同文件相同列字符合并文件(awk函数)相关的知识,希望对你有一定的参考价值。
存在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内容如下:
H aa 0 0 1 -9 asd qwe
H bb 0 0 2 -9 fgh rty
H 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
以上是关于Linux:不同文件相同列字符合并文件(awk函数)的主要内容,如果未能解决你的问题,请参考以下文章