• linux bash脚本把A和B文件中有相同ID的B文件的内容输出到文件C


    bash脚本把A和B文件中有相同ID的B文件的内容输出到文件C.


    Aid文件:
    ID001.1
    ID032.1
    ID090.10

    Bfilt文件:
    XX XX XXX ID001.1 XXX
    999999999999999999999999999999999999999
    XX XX XXX ID055.1 XXX
    6666666666666666666666666666666666666
    XX XX XXX ID032.1 XXX
    333333333333333333333333333333333333333

    要得到Cnew文件:
    XX XX XXX ID001.1 XXX
    999999999999999999999999999999999999999
    XX XX XXX ID032.1 XXX
    333333333333333333333333333333333333333

    awk 'NR==FNR{a[FNR]=$0} NR>FNR{for(i in a)if($0~a[i]){print;getline;print}}' Aid Bfilt >Cnew

    ## 输出匹配id的行,不输出其下一行

    awk 'NR==FNR{a[FNR]=$0} NR>FNR{for(i in a)if($0~a[i]){print;}}' Aid Bfilt

     注意:

    1 当文件很庞大时,这个十分慢;用 extractfastabyid 处理。

    2 这个匹配是包含关系, AAA会匹配AAA1,AAAAA1等。

  • 相关阅读:
    作业2(5)
    作业2(7)
    作业2(4)
    作业2(3)
    作业2(1)
    作业3(5)
    作业3(6)
    实验7综合练习(4)
    实验7综合练习(2)
    计算成绩
  • 原文地址:https://www.cnblogs.com/emanlee/p/3327351.html
Copyright © 2020-2023  润新知