![](/img/trans.png)
[英]Windows batch (cmd.exe) command line parameters and string manipulation
[英]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.