2015-11-27 74 views
0

我正在使用grep進行反向搜索(-v),以從我不想保留的用戶文件中刪除行。隨着模式的變化,我想使用模式文件來抓取需要刪除的模式。然而,這是失敗的,我不知道爲什麼。帶模式文件的反向grep搜索?

這完美的作品:

grep -v -F 'removethisstring' inputfile > newfile 

newfile是正確的,圖案化線現在從文件中刪除。

然而,把模式在文件失敗:

grep -v -F -f patternfile inputfile > newfile 

newfile是不變的,與模式的行仍然存在。我究竟做錯了什麼?

inputfile中

grapes are purple 
hello fox in the house 
bonnet is blue 
simple is best 

patternfile

fox 

newfile中結果:

(同inputfile中)

期望的輸出

grapes are purple 
bonnet is blue 
simple is best 
+1

適合我。給我們一個[小例子](http://sscce.org/)。 – Kevin

+0

請查看[editing-help](http://stackoverflow.com/editing-help)。 – Cyrus

+0

仍適用於我。你在某處有空白的空白嗎?兩個文件都以換行符結尾(不是空行,只是換行符('\ n'))? – Kevin

回答

1

嘗試使用以除去控制字符M,並檢查之前patternfile運行DOS2UNIX的。