我正在尝试编写一个使用FINDSTR在文本文件中查找关键字的脚本。给出以下命令:
findstr /s "item1" source.txt >> output.txt
如何确保结果仅拉出包含“item1”的那些行,而不是例如“item 14”?
我试过/ l和/ C:无济于事。
答案 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” 的部分。