Windows批处理脚本 - 对findstr的结果设置严格限制

时间:2013-02-06 17:18:34

标签: batch-file

我正在尝试编写一个使用FINDSTR在文本文件中查找关键字的脚本。给出以下命令:

findstr /s "item1" source.txt >> output.txt

如何确保结果仅拉出包含“item1”的那些行,而不是例如“item 14”?

我试过/ l和/ C:无济于事。

1 个答案:

答案 0 :(得分:3)

您可以使用正则表达式单词边界锚。

findstr /sr "\<item1\>" source.txt >> output.txt

FINDSTR将检测正则表达式元字符并自动将搜索字符串视为正则表达式。但最好使用/R选项明确指定正则表达式搜索。

边界锚一词的FINDSTR实现非常不标准,但我认为它对你有用。有关详细信息,请参阅What are the undocumented features and limitations of the Windows FINDSTR command?。答案的相关部分接近结尾的标题为 “Regex word boundary” 的部分。