在文件中找到一个字符?

时间:2013-02-28 06:42:45

标签: batch-file

我试图使用find或findstr找到文件中的某些字符?例如:

等文件内容
  

“/ test / abctest / abci.txt = c:\ abctest \ tst \ work \ workt.txt; abc _test1”
  “/test/abctest/abci.txt = c:\ abctest \ tst \ work \ workt.txt; abc .test2”
  “/test/abctest/abci.txt = c:\ abctest \ tst \ work \ workt.txt; (abc) test3”
  “/test/abctest/abci.txt = c:\ abctest \ tst \ work \ workt.txt; abc _test4”

...等......我想在文件中找到最后一个abc(粗体部分)。这个文件非常大,所以我不想使用任何for循环来查找字符。能否请你给我任何解决方案。

谢谢,

1 个答案:

答案 0 :(得分:1)

不确定这是否是你想要的正则表达式,但是如果你想要做的就是在正则表达式匹配时退出,那么

findstr /i ";[^a-z]*[a-z][a-z][a-z][^a-z]" datafile.txt >NUL && exit /b

这会以更明智的正则表达式表示法对/;\W?\w{3}\W/执行不区分大小写的搜索。如果找到exit /b,则不执行任何操作。