【问题标题】:How to determine which pattern in a file matched with grep?如何确定文件中与 grep 匹配的模式?
【发布时间】:2009-08-25 22:54:06
【问题描述】:

我使用 procmail 对我的收件箱进行大量分类。我的倒数第二个食谱匹配传入的 From: 到(非常)长的历史上良好电子邮件地址的白色/金色列表,以及电子邮件地址的模式。配方是:

# 金榜上的任何内容都会直接进入收件箱
:0
* ? formail -zxFrom: -zxReply-To | fgrep -i -f $HOME/邮件/goldlist
{
  LOG="规则金:"
  :0:
  $默认值
}

最后的配方将所有剩余的内容放在可疑文件夹中,以作为可能的垃圾邮件进行检查。 Goldlist 的当前长度为 7384 行(哎呀...)。每隔一段时间,我就会收到一封漏掉的垃圾邮件,我想修复失败的模式。我想我不久前读到了 grep 中的一个特殊标志,它有助于显示匹配模式,但我再也找不到了。有没有办法使用 grep 来显示与扫描文本匹配的文件中的模式?或者其他类似的工具可以回答没有编写脚本以逐个模式扫描模式的问题?

【问题讨论】:

    标签: grep procmail


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      来自手册页:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-30
        • 2013-10-09
        • 1970-01-01
        • 2022-10-15
        • 2017-01-01
        相关资源
        最近更新 更多