繁体   English   中英

使用FIND命令使用cmd.exe从一行中查找两个字符串

[英]using FIND command to find two string from one line with cmd.exe

如何使用FIND(cmd.exe默认命令)从文件安全地检测以下字符串,而名称minnie可以是任何东西? 它只是FROM:行上有me@my.com。

From: "Minnie" <me@my.com>

不应混入此TO行:

To: <me@my.com>

例如,此批处理文件行无法正常工作:

find "me@my.com" abc.txt

尝试两个流水线查找命令,如下所示:

find "me@my.com" abc.txt | find "From:"

前者搜索包含“ me@my.com”的所有行,后者过滤它们以仅保留那些包含“ From:”的行。

您可以使用findstr代替具有更高级功能(例如正则表达式匹配)的find

findstr /r /c:"^From:.*<me@my.com>" test.txt

仅当行以“发件人:”开头时,才会找到指定的电子邮件地址。

至少从Windows 2000开始,默认情况下还包括findstr

我真的不认为您将无法使用find来完成此任务,因为find仅查找文字匹配项,而不能使用通配符或正则表达式。

如果您有此选项,则可以安装UnxUtils软件包并使用grep进行安装。 这是Win32常用Unix实用程序的端口。 您可以在以下位置找到它:[ http://unxutils.sourceforge.net/] [1 ]

然后,您将发出一个grep命令,如下所示:

grep "From.*me\@my\.com" abc.txt

希望有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM