【问题标题】:Concatenating 2 lines from 2 files having matching strings连接具有匹配字符串的 2 个文件中的 2 行
【发布时间】:2013-06-07 20:35:49
【问题描述】:

我对 Unix 还很陌生,但是我很想学习它。 我有 2 个文件,有些行有一些匹配的子字符串,我想将这些行连接成一行,而其他行保持不变。下面是一个例子..

文件1(fasta文件):

>292183
AGAGTTTGATCCTGGCTCAGGATGAACGCTAGCGACAGGCTTAACACATGCAAGTCGAGGGGCAGCGGGGAGGAAGCTTGCTTTCTCTGCCGGCGACCGG CGCACGGGTGAGT
>551166
GTCGAGCGGCGAACGGGTGAGTAACGCGTGGATTATCTGCCCCGAGGTGGGGGATAACCCGGGGAAACTCGGGCTAATACCGCATATGACCGTGAGGTCA AAGGGGGGTCGCA

文件 2:

292183  k__Bacteria
551166  k__Bacteria; p__Acidobacteria

想要的输出:

>292183 k__Bacteria
AGAGTTTGATCCTGGCTCAGGATGAACGCTAGCGACAGGCTTAACACATGCAAGTCGAGGGGCAGCGGGGAGGAAGCTTGCTTTCTCTGCCGGCGACCGG CGCACGGGTGAGT
>551166 k__Bacteria; p__Acidobacteria
GTCGAGCGGCGAACGGGTGAGTAACGCGTGGATTATCTGCCCCGAGGTGGGGGATAACCCGGGGAAACTCGGGCTAATACCGCATATGACCGTGAGGTCA AAGGGGGGTCGCA

为此我尝试使用 awk 和 perl,但我从未将它们放在一个文件中..

感谢您的帮助, 此致, M

【问题讨论】:

  • This会帮你解决。

标签: string fasta


【解决方案1】:
sed 's/\([0-9]*\).*/s.\1.&./' File_2 | sed -f- File_1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 2018-05-14
    • 1970-01-01
    相关资源
    最近更新 更多