AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 535879
Accepted
Aron Rotteveel
Aron Rotteveel
Asked: 2013-09-04 03:39:45 +0800 CST2013-09-04 03:39:45 +0800 CST 2013-09-04 03:39:45 +0800 CST

不区分大小写的exiqgrep?

  • 772

我的邮件队列当前充满了同一域的退回邮件,但大小写不一。

我尝试使用exiqgrep从队列中过滤这些邮件,但该命令似乎区分大小写。有没有办法执行不区分大小写的搜索?

email
  • 2 2 个回答
  • 335 Views

2 个回答

  • Voted
  1. Best Answer
    Todd Lyons
    2013-09-04T05:14:36+08:002013-09-04T05:14:36+08:00

    正如另一位先生所指出的,exiqgrep 程序只是一个 perl 脚本。它获取传递给 -r 函数(接收者)的原始值并在模式匹配中使用它。模式匹配是一个简单的$rcpt =~ /$opt{r}/perl 测试,默认匹配,因为它没有指定,是区分大小写的。

    与 perl 的所有事物一样,TIMTOWTDI(有不止一种方法可以做到)。由于上面的函数不会去除或清理传递给 -r 的值,因此您可以简单地在正则表达式中嵌入忽略大小写修饰符。有关序列perldoc perlre如何工作的更多详细信息,请参阅。(?MODIFIERS:...)

    这是一个示例,我展示了混合大小写搜索找不到我正在寻找的域,但是通过使用内联标志修饰符作为搜索词的一部分,它找到了它。

    OVZ-CentOS58[root@ivwm51 ~]# exiqgrep -r 'crazyivan@yahoo.com'
    26h  4.0K 1VGRud-0001sm-P1 <> *** frozen ***
          crazyivan@yahoo.com
    
    OVZ-CentOS58[root@ivwm51 ~]# exiqgrep -r 'crazYivAn@yahOo.com'
    OVZ-CentOS58[root@ivwm51 ~]# exiqgrep -r '(?i:crazYivAn@yahOo.com)'
    26h  4.0K 1VGRud-0001sm-P1 <> *** frozen ***
          crazyivan@yahoo.com
    

    您的搜索将是相似的,例如:

    (?i:@thedomainyouseek.com)
    
    • 3
  2. dawud
    2013-09-04T04:32:26+08:002013-09-04T04:32:26+08:00

    手册页没有显示这样的选项,但该实用exiqgrep程序是一个perl脚本,您可以修改其源代码以满足您的需要:

    
    114 sub selection() {
    115   foreach my $msg (keys(%id)) {
    116     if ($opt{f}) {
    117       # Match sender address
    118       next unless ($id{$msg}{from} =~ /$opt{f}/); # here
    119     }
    120     if ($opt{r}) {
    121       # Match any recipient address
    122       my $match = 0;
    123       foreach my $rcpt (@{$id{$msg}{rcpt}}) {
    124         $match++ if ($rcpt =~ /$opt{r}/); # or here
    125       }
    126       next unless ($match);
    127     }
    128     if ($opt{s}) {
    129       # Match against the size string.
    130       next unless ($id{$msg}{size} =~ /$opt{s}/);
    131     }
    132     if ($opt{y}) {
    133       # Match younger than
    134       next unless ($id{$msg}{ages}  $opt{o});
    139     }
    140     if ($opt{z}) {
    141       # Exclude non frozen
    142       next unless ($id{$msg}{frozen});
    143     }
    144     if ($opt{x}) {
    145       # Exclude frozen
    146       next if ($id{$msg}{frozen});
    147     }
    148     # Here's what we do to select the record.
    149     # Should only get this far if the message passed all of
    150     # the active tests.
    151     $id{$msg}{d} = 1;
    152     # Increment match counter.
    153     $mcount++;
    154   }
    155 }
    
    • 2

相关问题

  • 如何绕过 ISP 的限制性电子邮件政策?

  • SharePoint 传入电子邮件出现“未知别名”错误

  • 电子邮件帐户的角色名称与人名

  • 如何在笔记本电脑上使用 Tobit David?[关闭]

  • 随行人员通过 VPN 连接到 Exchange 2007

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve