[英]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.