首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >findstr找不到“现在”

findstr找不到“现在”
EN

Stack Overflow用户
提问于 2017-05-12 08:39:23
回答 1查看 908关注 0票数 2

我没有多少使用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 ->返回找到了它的ok

如果'now‘是小写->,它就能工作

5) echo now|findstr "CLEAN NOCHANGE now">NUL&&echo发现->返回

有什么特别的字串“现在”吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-12 09:21:17

根据线程为什么这个包含多个文字搜索字符串的FINDSTR示例找不到匹配呢?,当具有不同长度和部分重叠的多个区分大小写的搜索字符串时,findstr的行为不正确。也参考这篇文章:Windows FINDSTR命令的无文档特性和限制是什么?

下面是使用正则表达式搜索字符串的变通方法,因为没有使用元字符:

代码语言:javascript
复制
echo NOW| findstr /R "CLEAN NOCHANGE NOW" > nul && echo found

下面是对每个文本搜索字符串使用单个findstr命令的解决方案:

代码语言:javascript
复制
echo NOW| (findstr /V "CLEAN" | findstr /V "NOCHANGE" | findstr /V "NOW") > nul || echo found

下面是基于findstr的小型兄弟关系的另一个解决方案,即find命令:

代码语言:javascript
复制
echo NOW| (find /V "CLEAN" | find /V "NOCHANGE" | find /V "NOW") > nul || echo found
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43933137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档