
[英]findstr does not find “homepage”:“http://www.google.com/”
[英]findstr does not find “NOW”
我在findstr上没有太多经验,但这对我来说根本无法理解。 还是findstr的错误?
看下面的例子:
1)立即echo NOW|findstr "CLEAN NOCHANGE NOW">NUL&&echo found
什么也不返回,但是为什么呢?
2) echo CLEAN|findstr "CLEAN NOCHANGE NOW">NUL&&echo found
返回,可以在这里找到
3) echo NOCHANGE|findstr "CLEAN NOCHANGE NOW">NUL&&echo found
返回,发现这也有效
但是当我使用/ I时
4) echo NOW|findstr /I "CLEAN NOCHANGE NOW">NUL&&echo found
-> return找到了
如果'now'是小写字母->它可以工作
5) echo now|findstr "CLEAN NOCHANGE now">NUL&&echo
找到echo now|findstr "CLEAN NOCHANGE now">NUL&&echo
找到返回
字符串“ NOW”有什么特别的吗?
根据线程, 为什么这个带有多个文字搜索字符串的FINDSTR示例找不到匹配项? ,当具有多个长度不同且部分重叠的文字区分大小写的搜索字符串时, findstr
不能正确运行。 另请参阅该帖子: Windows FINDSTR命令的未记录功能和限制是什么? 。
这是使用正则表达式搜索字符串的变通方法,因为未使用任何元字符:
echo NOW| findstr /R "CLEAN NOCHANGE NOW" > nul && echo found
这是对每个文字搜索字符串使用单独的findstr
命令的变通方法:
echo NOW| (findstr /V "CLEAN" | findstr /V "NOCHANGE" | findstr /V "NOW") > nul || echo found
这是另一个基于findstr
的小兄弟的解决方法,即find
命令:
echo NOW| (find /V "CLEAN" | find /V "NOCHANGE" | find /V "NOW") > nul || echo found
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.