【发布时间】:2016-11-26 16:06:09
【问题描述】:
我有 2 个文本文件,我想将它们合并到一个新文件中。
我的第一个文件是这样的
DjScaffold1002 blastx protein_match 50305 51044 125 - . ID=DjScaffold1002:hit:2832:3.10.0.0;Name=sp|Q9UEW3|MARCO_HUMAN
DjScaffold1002 blastx protein_match 50305 50892 208 - . ID=DjScaffold1002:hit:2833:3.10.0.0;Name=sp|Q60754|MARCO_MOUSE
DjScaffold1002 blastx protein_match 44584 45176 145 - . ID=DjScaffold1002:hit:2834:3.10.0.0;Name=sp|Q7SIB2|CO4A1_BOVIN
第二个文件 =
Q9UEW3 MARCO
Q60754 Marco
Q7SIB2 COL4A1
和我的预期输出一样,我的意思是从第一行到第二个文件的第一列映射第 9 列字符串的一部分,应该是这样的:
DjScaffold1002 blastx protein_match 50305 51044 125 - . ID=DjScaffold1002:hit:2832:3.10.0.0;Name=sp|Q9UEW3|MARCO_HUMAN;Symbol=MARCO
DjScaffold1002 blastx protein_match 50305 50892 208 - . ID=DjScaffold1002:hit:2833:3.10.0.0;Name=sp|Q60754|MARCO_MOUSE;Symbol=Marco
DjScaffold1002 blastx protein_match 44584 45176 145 - . ID=DjScaffold1002:hit:2834:3.10.0.0;Name=sp|Q7SIB2|CO4A1_BOVIN;Symbol=COL4A1
另外,我想保留第一个文件中未与第二个文件映射的行。
如何使用 awk 执行此操作?
【问题讨论】:
-
如果您使用 awk,则永远不需要 grep,因为 awk 可以做 grep 可以做的任何有用的事情。
-
很抱歉,此命令不适用于我的文件。
标签: linux shell ubuntu awk grep