繁体   English   中英

使用grep提取文件之间的行

[英]Extracting lines between files using grep

我有两个文件,file1.txt和file2。 文本

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

因为它们完全匹配?

为此,完成了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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM