我有两个文件,file1.txt和file2。 TXT
file1.txt包含多个字符串,例如:
Little.1
Little.2
Little.3
并且file2.txt包含如下字符串:
XYQ Little.1 AGTAGT
ABC Little.12 ATCGCT
GDT Little.3 CGTAGT
我如何使用grep,以便当我使用file1来grep file2时,我只返回:
XYG Little.1 AGTAGT
GDT Little.3 CGTAGT
因为它们完全一致吗?
答案 0 :(得分:1)
grep -w
和-f
已完成此操作:
$ grep -wf file1 file2
XYQ Little.1 AGTAGT
GDT Little.3 CGTAGT
来自man grep
:
-f FILE, - file = FILE
从FILE获取模式,每行一个。空文件包含零 模式,因此没有匹配。 (-f由POSIX指定。)
-w, - word-regexp
仅选择包含构成整个单词的匹配项的行。 测试是匹配的子字符串必须在 该行的开头,或前面是非单词成分 字符。同样,它必须在行的末尾或 后跟一个非单词构成字符。字组成 字符是字母,数字和下划线。
请注意,如果没有-w
,则会与其他情况相符:
$ grep -f file1 file2
XYQ Little.1 AGTAGT
ABC Little.12 ATCGCT
GDT Little.3 CGTAGT