簡體   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