zoukankan      html  css  js  c++  java
  • 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等。

  • 相关阅读:
    chapter 12_1 数据文件
    chapter11_3 字符串缓冲
    chapter11_2 Lua链表与队列
    chapter11_1 Lua数组、列表
    chapter9_4 非抢占式的多线程
    Java设计模式
    java内存回收机制
    javaIO流概述
    java集合概述
    java多线程
  • 原文地址:https://www.cnblogs.com/emanlee/p/3327351.html
Copyright © 2011-2022 走看看