• 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内容如下:

    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内核分析
    socket的protocal参数
    linux修改系统时间
    asdfadsf
    NoSQL数据库笔谈
    scrapy安装
    数字证书及CA的扫盲介绍
    Java数据类型
    EXISTS的用法
    python链接
  • 原文地址:https://www.cnblogs.com/chenwenyan/p/8998656.html
Copyright © 2020-2023  润新知