我想这么做:
findstr /s /c:some-symbol *或相当于grep的
grep -R some-symbol *但我需要这个实用程序来自动检测UTF-16 (和朋友)中编码的文件,并对它们进行适当的搜索。我的文件甚至有字节排序标记FFEE在他们中,所以我甚至不寻找英雄自动检测。
有什么建议吗?
我指的是Windows和XP。
发布于 2012-09-04 15:58:25
解决办法是将您的UTF-16转换为ASCII或ANSI。
TYPE UTF-16.txt > ASCII.txt然后你可以使用FINDSTR。
FINDSTR object ASCII.txt发布于 2009-01-04 13:55:54
谢谢你的建议。我指的是Windows和XP。
我还发现了这个解决方法,使用了免费的strings.exe。
C:\> strings -s -b dir_tree_to_search | grep regexp Strings.exe提取它找到的所有字符串(从二进制文件中提取,但对文本文件也很好),并在每个结果前面加上一个文件名和冒号,所以在regexp中要考虑到这一点(或者使用裁剪或管道中的另一个步骤)。-s使它进行递归提取,而-b只是取消横幅消息。
最终,我仍然对旗舰搜索工具Gnu、grep和findstr没有本地处理Unicode字符编码感到惊讶。
发布于 2011-07-21 20:31:56
在Windows上,您也可以使用find.exe。
find /i /n "YourSearchString" *.*唯一的问题是这个打印文件名后跟着匹配。你可以通过管道过滤到findstr。
find /i /n "YourSearchString" *.* | findstr /i "YourSearchString"https://stackoverflow.com/questions/408079
复制相似问题