我有两个文件。
文件1
Als
Mmp
Ggt1
文件2(以制表符分隔)
cy3 cy5 ID GeneName Zscore
18 18 NM23XX Als 2.34886
456 487 NM375FG Rac 0.898549
我想要grep
file2 中的 file1 列表。我希望返回的内容类似于:
18 18 NM23XX Als 2.34886
我用了
grep -f file1 file2
但返回的是整个文件,匹配项以红色突出显示。我只想要匹配的行。我也试过了
grep -x -f file1 file2
还没有回复。我该怎么办?
答案1
for gene in $(cat file1); do cat file2 | grep $gene; done
18 18 NM23XX Als 2.34886
答案2
你似乎做了正确的事情:
$ cat f1
Als
Mmp
Ggt1
$ cat f2
cy3 cy5 ID GeneName Zscore
18 18 NM23XX Als 2.34886
456 487 NM375FG Rac 0.898549
$ grep -f f1 f2
18 18 NM23XX Als 2.34886
$ grep --version
grep (GNU grep) 3.1
...
也许您的 f1 文件的“Als”行上有尾随空格?