Amazon Best VPN GoSearch

OnWorks 网站图标

grepmailp - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 grepmailp

这是可以使用我们的多个免费在线工作站之一(例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器)在 OnWorks 免费托管服务提供商中运行的命令 grepmailp

程序:

您的姓名


grepmail - 在邮箱中搜索匹配正则表达式的邮件

概要


grepmail [--help|--version] [-abBDFhHilLmrRuvVw] [-C ]
[-j ] [-s ] [-d ]
[-X ] [-Y ]
[[-e] |-E |-f ]

商品描述


邮件 查找包含模式的邮件消息,并打印结果消息
在标准输出上。

默认情况下 邮件 在标题和正文中查找指定的模式。

当重定向到一个文件时,结果是另一个邮箱,可以依次处理
通过标准用户代理,例如 榆树,甚至用作另一个实例的输入
邮件.

至少其中之一 -E, -e, -d, -s-u 必须指定。 模式是可选的,如果 -d,
-s,和/或 -u 用来。 这 -e 如果没有文件名是
图案。 这 -E 选项可用于指定涉及的复杂搜索表达式
逻辑运算符。 (见下文。)

如果找不到邮箱,grepmail 首先搜索指定的目录
MAILDIR 环境变量(如果定义了),然后搜索 $HOME/mail,
$HOME/Mail 和 $HOME/Mailbox 目录。

配置 AND 争论


许多选项和参数类似于 grep 的选项和参数。

模式
要在邮件消息中搜索的模式。 可以是任何 Perl 正则表达式,但是
应该在命令行上引用以防止通配(shell 扩展)。 到
搜索多个模式,使用“(pattern1|pattern2|...)”形式。

请注意,诸如“(?>...)”之类的复杂模式特征要求您使用
支持它们的 perl。 您可以使用模式“()”来表示您不想要
匹配任何东西。 如果您想在不打印的情况下初始化缓存,这很有用
任何输出。

邮箱
邮箱必须是传统的 UNIX“/bin/mail”邮箱格式。 邮箱可能是
由 gzip 或 bzip2 压缩,在这种情况下必须安装 gunzip 或 bzip2
系统。

如果未指定邮箱,则从标准输入获取输入,可以压缩或不压缩。
当 ASCII 和二进制数据作为输入一起通过管道传输时,grepmail 的行为是未定义的。

-a
使用到达日期而不是发送日期。

-b
断言模式必须在电子邮件正文中匹配。

-B
打印正文,但只有最少的 ('From', 'From:', 'Subject:', 'Date:') 标题。
此标志可与 -H 一起使用,在这种情况下,它将仅打印短标题,而不会打印
电子邮件正文。

-C
指定缓存文件的位置。 默认值为 $HOME/.grepmail-cache。

-D
启用调试模式,打印诊断消息。

-d
日期规范必须采用以下形式:
- 像“今天”、“昨天”、“5 年 18 月 93 日”、“5 天前”、“5 周前”这样的日期,
- 或“之前”、“之后”或“之后”,后跟上述定义的日期,
- 或“之间和“, 在哪里定义如上。

简单的日期表达式将首先由 Date::Parse 解析。 如果失败,grepmail
将尝试使用 Date::Manip 解析日期,如果模块安装在
系统。 使用空模式(即 -d "") 查找没有“日期:...”行的电子邮件
标题。

没有时间的日期规范被解释为具有该时间的午夜
天(即早晨),除了“之后”和“以来”规范,它们是
解释为第二天的午夜。 例如,“今天和明天之间”
与简单的“今天”相同,并返回日期为当天的电子邮件。 (“现在”
解释为“今天”。)日期规范“5 月 XNUMX 日之后”将返回电子邮件
日期为 6 月 XNUMX 日午夜或更晚。

-E
使用逻辑运算符指定复杂的搜索表达式。 当前的语法允许
用户使用 Perl 语法指定搜索表达式。 可以使用三个值:
$email(整个电子邮件)、$email_header(只是标题)或 $email_body(只是
身体)。 搜索以“$email =~ /pattern/”的形式指定,并且多个
可以使用“&&”和“||”组合搜索用于“和”和“或”。

例如,表达式

$email_header =~ /^From: .*\@coppit.org/ && $email =~ /grepmail/i

将找到所有源自 coppit.org 的电子邮件(您必须将“@”符号转义为
一个反斜杠),并且在邮件的任何位置包含关键字“grepmail”,在任何
大写。

-E 与不兼容 -b, -h-e. -i, -M, -S-Y 还没有
已实施。

注意:搜索表达式的语法将来可能会发生变化。 特别支持
可能会添加大小、日期和其他限制。 语法也可以简化为
为了使表达式形成更容易使用(并且可能以减少
功能)。

-e
明确指定搜索模式。 这对于指定开始的模式很有用
带有“-”,否则将被解释为标志。

-f
从 FILE 获取模式,每行一个。 空文件包含零个模式,并且
因此不匹配。

-F
强制 grepmail 处理所有文件和流,就好像它们是邮箱一样。 (IE
跳过对非邮箱 ASCII 文件或看起来不像的二进制文件的检查
使用已知方案压缩。)

-h
断言模式必须在电子邮件的标题中匹配。

-H
打印匹配电子邮件的标题而不是正文。

-i
使搜索不区分大小写(类比 grep的 -i).

-j
断言电子邮件“状态:”标题必须包含给定的标志。 订单和案例是
不重要,所以使用 -j AR or -j ra 搜索已阅读的电子邮件和
回答。

-l
输出具有与表达式匹配的电子邮件的文件的名称,(类比于 grep的
-l).

-L
遵循符号链接。 (暗示 -R)

-M
导致 grepmail 忽略非文本 MIME 附件。 这消除了误报
由编码为 ASCII 附件的二进制文件产生。

-m
附加“X-Mailfolder: " 到所有电子邮件标题,指示包含哪个文件夹
匹配的电子邮件。

-n
用行号信息作为每一行的前缀。 如果指定了多个文件,则
文件名将在行号之前。 注意:当与 -m
X-Mailfolder 标题与下一行(空白)具有相同的行号。

-q
静音模式。 禁止输出有关非邮箱文件的警告消息,
目录等

-r
生成包含与表达式匹配的电子邮件的文件名称的报告,
以及匹配电子邮件的数量。

-R
使 grepmail 递归遇到任何目录。

-s
返回与此标志指定的大小(以字节为单位)匹配的电子邮件。 请注意,这
size 包括标题的长度。

大小约束必须采用以下形式:
- 12345:匹配大小正好为 12345
- <12345, <=12345, >12345, >=12345:匹配大小小于、小于或等于,
大于或大于等于 12345
- 10000-12345:匹配大小在 10000 和 12345 之间(含)

-S
忽略签名。 签名由“--
".

-u
仅输出唯一的电子邮件,类比于 分类 -u. Grepmail 确定电子邮件的唯一性
通过消息 ID 标头。

-v
通过类比来反转搜索的意义 grep的 -v. 这导致了一组电子邮件
印刷品是那些没有印刷品的补充品 -v 开关。

-V
打印版本并退出。

-w
仅搜索包含该模式作为词组一部分的那些行。 那是,
模式的开头必须与单词的开头匹配,模式的结尾必须
匹配单词的结尾。 (请注意,开始和结束不需要为 单词。)

如果你熟悉 Perl 正则表达式,这个标志只是简单地在前面加上一个 "\b"
并在搜索模式之后。

-X
为签名分隔符指定正则表达式。 默认情况下,此模式是
'^-- $'。

-Y
指定指示要搜索的特定标题的模式。 搜索将
自动将跨越多行的标题视为一个长行。 这旗
暗示 -h.

在 procmail 的样式中,pattern 中的特殊字符串会被展开如下:

如果正则表达式包含“^TO:”,它将被替换为

^(((原文-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|显然(-Resent)?)-To):

它应该将所有标头与目标地址匹配。

如果正则表达式包含“^FROM_DAEMON:”,它将被替换为

(^(Mailing-List:|Precedence:.*(junk|bulk|list)|To: 多个收件人 |(((Resent-)?(From|Sender)|X-Envelope-From):|>?From )([^>]*[^(.%@a-z0-9])?(Post(ma?(st(e?r)?|n)|office)|(发送)?Mail(er)? |daemon|m(mdf|ajordomo)|n?uucp|LIST(SERV|proc)|NETSERV|o(wner|ps)|r(e(quest|sponse)|oot)|b(ounce|bs\.smtp )|echo|mirror|s(erv(ices?|er)|mtp(error)?|ystem)|A(dmin(istrator)?|MMGR|utoanswer))(([^).!:a-z0- 9][-_a-z0-9]*)?[%@>\t ][^<)]*(\(.*\).*)?)?

这应该可以捕获来自大多数守护进程的邮件。

如果正则表达式包含“^FROM_MAILER:”,它将被替换为

(^(((Resent-)?(From|Sender)|X-Envelope-From):|>?From)([^>]*[^(.%@a-z0-9])?(Post(ma(st(er)?|n)|office)|(send)?Mail(er)?|daemon|mmdf|n?uucp|ops|r(esponse|oot)|(bbs\.)?smtp(error)?|s(erv(ices?|er)|ystem)|A(dmin(istrator)?|MMGR))(([^).!:a-z0-9][-_a-z0-9]*)?[%@>\t][^<)]*(\(.*\).*)?)?$([^>]|$))

(“^F​​ROM_DAEMON:”的精简版),它应该能捕获来自
大多数邮件程序守护进程。

因此,要搜索发往或发自“Andy”的所有电子邮件:

grepmail -Y '(^TO:|^From:)' 安迪邮箱

- 帮帮我
打印帮助消息总结用法。

--
以下所有参数 -- 被视为邮件文件夹。

示例


计算电子邮件的数量。 (“.”匹配每封电子邮件。)

grepmail -r 。 发送邮件

获取有关书籍的 2000 到 3000 字节之间的所有电子邮件

grepmail book -s 2000-3000 已发送邮件

获取您昨天寄出的所有电子邮件

grepmail -d 昨天发送的邮件

获取您在 1998 年 XNUMX 月的第一个星期四之前寄出的所有电子邮件,这些电子邮件与
研究(需要 Date::Manip):

grepmail research -d “1 年 1998 月第一个星期四之前”发送邮件

获取您在 1998 年 XNUMX 月 XNUMX 日之前邮寄的所有与研究相关的电子邮件:

grepmail research -d "before 6/1/98" sent-mail

获取自 8 年 20 月 98 日以来收到的所有与研究或工作无关的电子邮件,忽略
案件:

grepmail -iv "(research|job)" -d "since 8/20/98" 保存的邮件

获取有关 mime 的所有电子邮件,但不获取有关 Netscape 的电子邮件。 限制搜索以匹配正文,
因为大多数标题都包含文本“mime”:

grepmail -b mime 保存邮件 | grepmail Netscape -v

打印包含来自 Rodney 的消息的所有邮箱的列表。 将搜索限制为
标题,因为引用的电子邮件可能与模式匹配:

grepmail -hl "^From.*Rodney" 保存的邮件*

在标题和正文中查找所有带有文本“Pilot”的电子邮件:

grepmail -hb "Pilot" 保存的邮件*

打印所有已保存邮件邮箱中有关 grepmail 的邮件数量的计数:

grepmail -br grepmail 保存的邮件*

从邮箱中删除任何重复项:

grepmail -u 保存的邮件

将 Gnus 邮箱转换为 mbox 格式:

邮件。 gnus-mailbox-dir/* > mbox

搜索所有发往或发自某个地址的电子邮件(考虑包装的标题和
不同的标题名称):

grepmail -Y '(^TO:|^From:)' [电子邮件保护] 已保存邮件

查找来自邮局局长的所有电子邮件:

grepmail -Y '^FROM_MAILER:' 。 已保存邮件

使用 onworks.net 服务在线使用 grepmailp


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。