查找两个文件之间的共同模式

查找两个文件之间的共同模式

我有两个文件,file1 有一个约 600 行的列,file2 有约 20 列和约 3000 行。我想从 file1 中找到在 file2 中常见的模式。

文件1:

K00001
K00002
K00003
K00006
K00013
K00025
K00089

文件2:

TRINITY_DN102283_c0_g1  KEGG:xtr:496432`KO:K16860
TRINITY_DN42420_c0_g1   KO:K01762
TRINITY_DN52581_c0_g1   KEGG:zma:732844`KO:K13523
TRINITY_DN36387_c0_g2   KEGG:zma:732811`KO:K00089
TRINITY_DN54650_c4_g1   KEGG:zma:542598`KO:K00025
TRINITY_DN93494_c0_g1   KEGG:zma:542598`KO:K00025
TRINITY_DN36051_c0_g1   KEGG:zma:542598`KO:K00025

我想获得这样的结果:

K00025
K00089

答案1

comm -12 <(grep -oP '\w+' a|sort -u) <(grep -oP '\w+' b|sort -u)

在哪里:

  • grep -oP '\w+' a|sort -u获取文件中单词的排序列表a
  • 一些文件b
  • comm -12输出公共线

答案2

您可以使用以下代码片段来完成此操作

grep -f file1 -o file2 | sort -u
K00025
K00089

相关内容