2009-08-25 78 views
0

我使用procmail在我的收件箱中進行廣泛的排序。我接下來的最後一個食譜將傳入的From:與歷史上良好的電子郵件地址的(很長)白色/金色列表以及電子郵件地址模式相匹配。配方是:如何確定文件中與grep匹配的模式?

# Anything on the goldlist goes straight to inbox 
:0 
* ? formail -zxFrom: -zxReply-To | fgrep -i -f $HOME/Mail/goldlist 
{ 
    LOG="RULE Gold: " 
    :0: 
    $DEFAULT 
}

最後的食譜把所有的東西留在可疑的文件夾中作爲可能的垃圾郵件進行檢查。 Goldlist長7384行(yikes ...)。每過一段時間,我都會收到一條已經漏掉的垃圾郵件,我想修復這個失敗的模式。我以前讀過一段關於grep中特殊標誌的文章,這些標誌幫助展示了匹配模式,但我再也找不到這種標誌。有沒有一種方法可以使用grep來顯示匹配掃描文本的文件中的模式?或者是另一個類似的工具,它可以回答編寫腳本以根據模式掃描模式的問題嗎?

回答

2

grep -o只會輸出匹配的文本(而不是整行)。這可能有幫助。否則,我認爲你需要編寫一個包裝腳本來一次嘗試一種模式。

2

我不確定這是否會對您有所幫助。有一個「-o」參數只輸出匹配的表達式。

從手冊頁:

-o, --only-matching 
      Show only the part of a matching line that matches PATTERN.