我有两个文件,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