如何确定文件中与grep匹配的模式?

如何确定文件中与grep匹配的模式?,grep,procmail,Grep,Procmail,我使用procmail对收件箱进行广泛的排序。我的下一个到最后一个菜谱匹配从:到一个(非常)长的白/金列表,其中列出了历史上最好的电子邮件地址,以及电子邮件地址的模式。配方是: # Anything on the goldlist goes straight to inbox :0 * ? formail -zxFrom: -zxReply-To | fgrep -i -f $HOME/Mail/goldlist { LOG="RULE Gold: " :0: $DEFAULT }

我使用procmail对收件箱进行广泛的排序。我的下一个到最后一个菜谱匹配从:到一个(非常)长的白/金列表,其中列出了历史上最好的电子邮件地址,以及电子邮件地址的模式。配方是:

# Anything on the goldlist goes straight to inbox :0 * ? formail -zxFrom: -zxReply-To | fgrep -i -f $HOME/Mail/goldlist { LOG="RULE Gold: " :0: $DEFAULT } #金榜上的任何东西都会直接进入收件箱 :0 * ? 表格-ZX自:-ZX回复| fgrep-i-f$HOME/Mail/goldlist { LOG=“规则黄金:” :0: $DEFAULT }
最后的配方将所有遗留在可疑文件夹中的内容作为可能的垃圾邮件进行检查。Goldlist目前有7384行长(yikes…)。每隔一段时间,我就会收到一条垃圾邮件,我想修复失败的模式。我想我之前读过关于grep中的一个特殊标志帮助显示匹配模式的文章,但是我再也找不到了。有没有一种方法可以使用grep来显示与扫描文本匹配的文件中的模式?或者另一个类似的工具,除了编写一个脚本来逐个模式扫描之外,还可以回答这个问题。

grep-o将只输出匹配的文本(而不是整行)。这可能会有帮助。否则,我认为您需要编写一个包装器脚本来一次尝试一种模式。

grep-o将只输出匹配的文本(与整行相反)。这可能会有帮助。否则,我认为您需要编写一个包装器脚本来一次尝试一种模式。

我不确定这是否对您有帮助。有一个“-o”参数仅输出匹配的表达式

从手册页:


我不确定这是否对你有帮助。有一个“-o”参数仅输出匹配的表达式

从手册页:

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