如何使用FIND(cmd.exe默认命令)安全地从文件中检测以下字符串,而名称minnie可以是什么?只是FROM:line上有me@my.com。
From: "Minnie" <me@my.com>
不应该混合到此TO行:
To: <me@my.com>
e.g。此批处理文件行无法正常工作:
find "me@my.com" abc.txt
答案 0 :(得分:4)
尝试两个流水线查找命令,如下所示:
find "me@my.com" abc.txt | find "From:"
前者搜索包含“me@my.com”的所有行,后者搜索它们只留下包含“From:”的行。
答案 1 :(得分:4)
您可以使用findstr
代替具有更高级功能的find
,例如正则表达式匹配。
findstr /r /c:"^From:.*<me@my.com>" test.txt
只有当行以“From:”开头时,才会找到指定的电子邮件地址。
默认情况下, findstr
也包含在Windows 2000以后。
答案 2 :(得分:0)
我真的不认为你能够通过 find 来实现这一点,因为 find 只查找文字匹配并且无法使用通配符或正则表达式。
如果您有选项,可以安装UnxUtils包并使用grep来执行此操作。它是Win32常见的Unix Utilities的一个端口。您可以在[http://unxutils.sourceforge.net/][1]
找到它然后你会发出这样的grep命令:
grep "From.*me\@my\.com" abc.txt
希望有所帮助!