比较不同列的两个文件并打印不同列

马尔耶

我想将file2的第二列file1的第一列进行比较如果它们相等,我想将file1的第二列添加file2,如output.txt所示

文件2

chr5    ENST00000514151    utr5    0    +
chr5    ENST00000512281    utr5    0    +
chr5    ENST00000512281    utr5    0    +
chr5    ENST00000512281    utr5    0    +

文件1

ENST00000512281    a
ENST00000504031    b
ENST00000776348    c

output.txt

chr5    a    ENST00000512281    utr5    0    +
chr5    a    ENST00000512281    utr5    0    +
chr5    a    ENST00000512281    utr5    0    +

我可以比较文件

awk 'NR==FNR{a[$1];next}$2 in a{print}' file1 file2

这给出以下输出:

chr5    ENST00000512281    utr5    0    +
chr5    ENST00000512281    utr5    0    +
chr5    ENST00000512281    utr5    0    +

但是我不知道如何将file1的第二列添加到输出中。

HåkonHægland

您可以使用将$2in的值存储file1到数组中a[$1]=$2因此,您可以尝试:

awk '
   NR==FNR{ 
     a[$1]=$2 ; next }
   $2 in a {
     $1=$1 FS a[$2]
     print 
   }' file1 file2

输出:

chr5 b ENST00000504031 utr5 0 +
chr5 b ENST00000504031 utr5 0 +
chr5 a ENST00000512281 utr5 0 +
chr5 a ENST00000512281 utr5 0 +
chr5 a ENST00000512281 utr5 0 +

说明:

  • 这将使用默认字段分隔符where进行修改$1该分隔符是一个空格..然后重建记录,以便以后可以打印file2$1=$1 FS a[$2]FSprint
  • 如果需要print可以将其简化为1$2 in a { $1=$1 FS a[$2] }1
  • 请注意,这将重建记录file2,因此任何空格或制表符序列都将被截断为输出中的单个空格。要使原始格式保持file2一种格式,可以使用split()Gnu Awk版本4中功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何比较两个不同文件的两列

来自分类Dev

比较具有两个不同列的多个文件(两个以上)

来自分类Dev

比较两个CSV文件并打印不同Python的行

来自分类Dev

比较两个不同表中的两列?

来自分类Dev

比较两个不同 Excel 表中的两列

来自分类Dev

如何比较两个文件并打印两个文件的值不同

来自分类Dev

如何比较来自两个不同文件的两列?

来自分类Dev

比较两个不同txt文件窗口中的两列

来自分类Dev

比较两个不同CSV文件的两列并合并输出

来自分类Dev

比较shell脚本中两个不同文件中的两列

来自分类Dev

两个文件中的AWK列匹配,打印不同的列

来自分类Dev

比较两个具有不同列号的文件,如果条件满足,则将需求打印到一个新文件中

来自分类Dev

如何比较两个文件中的不同列,并在第一个文件中打印出来?

来自分类Dev

比较R中两个不同长度的列

来自分类Dev

比较两个不同的熊猫列中的值

来自分类Dev

如何比较两个不同列之间的熊猫值?

来自分类Dev

如何比较两个不同文件中的两对列以及水平合并的打印匹配项(BASH或AWK的首选项)?

来自分类Dev

用awk比较两个不同文件的第一列

来自分类Dev

如何有效比较具有不同列的两个CSV文件

来自分类Dev

Bash方法基于索引列表比较来自两个不同文件的特定列

来自分类Dev

用awk比较两个不同文件的第一列

来自分类Dev

bash比较两个文件中具有不同长度的多列

来自分类Dev

按列和值比较两个csv文件,并显示不同值的行号

来自分类Dev

匹配两个不同文件中的最接近值并打印特定列

来自分类Dev

如何比较两个不同的csv文件中的列并替换另一个文件中的列

来自分类Dev

如何比较两个不同的列数据,而不考虑不同文本文件中的顺序?

来自分类Dev

比较文件中不同列中的两个数组,并使用 unix 为每一行打印匹配元素

来自分类Dev

在 SQL Server 中逐行比较两个不同表中的两个文本列

来自分类Dev

如何根据与两个不同列相关的两个条件打印所有行?

Related 相关文章

  1. 1

    如何比较两个不同文件的两列

  2. 2

    比较具有两个不同列的多个文件(两个以上)

  3. 3

    比较两个CSV文件并打印不同Python的行

  4. 4

    比较两个不同表中的两列?

  5. 5

    比较两个不同 Excel 表中的两列

  6. 6

    如何比较两个文件并打印两个文件的值不同

  7. 7

    如何比较来自两个不同文件的两列?

  8. 8

    比较两个不同txt文件窗口中的两列

  9. 9

    比较两个不同CSV文件的两列并合并输出

  10. 10

    比较shell脚本中两个不同文件中的两列

  11. 11

    两个文件中的AWK列匹配,打印不同的列

  12. 12

    比较两个具有不同列号的文件,如果条件满足,则将需求打印到一个新文件中

  13. 13

    如何比较两个文件中的不同列,并在第一个文件中打印出来?

  14. 14

    比较R中两个不同长度的列

  15. 15

    比较两个不同的熊猫列中的值

  16. 16

    如何比较两个不同列之间的熊猫值?

  17. 17

    如何比较两个不同文件中的两对列以及水平合并的打印匹配项(BASH或AWK的首选项)?

  18. 18

    用awk比较两个不同文件的第一列

  19. 19

    如何有效比较具有不同列的两个CSV文件

  20. 20

    Bash方法基于索引列表比较来自两个不同文件的特定列

  21. 21

    用awk比较两个不同文件的第一列

  22. 22

    bash比较两个文件中具有不同长度的多列

  23. 23

    按列和值比较两个csv文件,并显示不同值的行号

  24. 24

    匹配两个不同文件中的最接近值并打印特定列

  25. 25

    如何比较两个不同的csv文件中的列并替换另一个文件中的列

  26. 26

    如何比较两个不同的列数据,而不考虑不同文本文件中的顺序?

  27. 27

    比较文件中不同列中的两个数组,并使用 unix 为每一行打印匹配元素

  28. 28

    在 SQL Server 中逐行比较两个不同表中的两个文本列

  29. 29

    如何根据与两个不同列相关的两个条件打印所有行?

热门标签

归档