假設我們有兩個文件。將具有多種模式的文件傳遞給grep
match.txt:包含模式的文件來匹配:
fed ghi
tsr qpo
的data.txt:包含文本行的文件:
abc fed ghi jkl
mno pqr stu vwx
zyx wvu tsr qpo
現在,我要發出一個grep命令,應該返回第一行和第三行從data.txt:
abc fed ghi jkl
zyx wvu tsr qpo
...因爲這兩行中的每一行匹配match.txt中的一個模式。
我曾嘗試:
grep -F -f match.txt data.txt
但不返回任何結果。
grep的信息:GNU grep 2.6.3
(Cygwin的)
OS信息:Windows 2008 R2
更新:修復是使用這個命令:tr -d "\r" <match.txt | grep -F -f - text.txt
看來,grep的不正確地尊重窗口行尾( CR/LF)通過-f標誌顯示給它的匹配文件。
更新cygwin grep到最新版本(從2.5.4到2.6.3),問題依然存在。 – 2010-10-26 14:38:07