[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
如果要查找的双引号不是一个,而是两个、三个或更多,findstr就彻底歇菜了

jm又忘了转义字符\了。
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

回复 7楼 的帖子

1、find可以识别unicode格式文本,findstr不行。
2、find可以过滤某些特殊字符,比如
  1. fsutil fsinfo drives|find /v ""
复制代码
3、find可以直接显示包含待查找字符的行数,而findstr只能在前面加行号。
4、find.exe比findstr.exe体积小^_^
5、应该有效率上的不同(未具体测试,感兴趣者可以试下)。
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

既然findstr比find更强大,我们为什么还要学find呢,只学findstr不就行了吗?
find跟findstr相比,难道一点自己的优势都没有?
Do All in Command Line

TOP

  find命令没有findstr用得熟练,临时抱佛脚写了一篇,竟然出现了多处错误,惭愧惭愧。当然,也怪自己粗心大意,没有对全部用法做实际测试,想当然地得出了一些错误的结论,真是误人子弟啊。以后得更加谨慎,在得出结论之前,一定实地测试一番,哪怕是最简单的情形也不放过。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

总结一下,原文太长,但要点只有六个

1、find /v "Abc" test.txt  它表示查找那些不含字符串Abc的行
2、find /c "abc" test.txt  统计包含“abc”字符串的行数
3、find /i "Abc" test.txt   表示不区分大小写查找abc的行
4、find /c /n "abc" test.txt 开关/n会被忽略掉,最终结果不会显示带行号的行内容,只会显示匹配的总行数而已。
5、find "abc" test.txt|find "xyz",它表示在test.txt中查找同时存在字符串abc和字符串xyz的行,只要你愿意,你可以继续用管道符号把这个find语句连接下去,我们把这个过程称为多重过滤。
6、find """" test.txt   把一对双引号放在双引号对中(共2对),要查找的内容是双引号本身

[ 本帖最后由 curious 于 2009-6-7 12:30 编辑 ]

TOP

find '"' test.txt

XP上出现:FIND: 参数格式不正确

应该把一个引号变成一对:
find """" test.txt
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

  呀,果真如此,第一点受findstr的影响,不做测试就写出来了,罪过罪过;第二点受微软自带帮助信息的误导,同样做作测试——唉,微软也太不厚道了,翻译过来语句不通也就罢了,竟然把意思都翻译错。赶紧修正^_^。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

find 的参数不可以合并(如 /in),挨在一起也不可以(如 /i/n)。

find 支持查找通配符文件。如 find "1" *.txt

TOP

返回列表