一、find命令介绍
在cmd窗口中敲下 find /? 命令,按下回车键。就能查看下find命令的帮助信息。
C:\Users\DELL>find /?
在文件中搜索字符串。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
/V 显示所有未包含指定字符串的行。
/C 仅显示包含字符串的行数。
/N 显示行号。
/I 搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件。
"string" 指定要搜索的文本字符串。
[drive:][path]filename
指定要搜索的文件。
如果没有指定路径,FIND 将搜索在提示符处键入
的文本或者由另一命令产生的文本。
C:\Users\DELL>
语法格式:
find [可选参数] "要搜索的字符串" [路径\文件名]
注意:find命令中 "要搜索的字符串" 这个内容是必填的,引号也是必须的。
二、例子
1、基本使用
find "abc" d:\test.txt
表示在D盘下的test.txt文件中查找含有 abc 这一字符串的所有行。
2、不区分大小写查找
在查找指定字符串的时候,有的场合是不需要区分大小写的,很简单,在find的时候,添加 /i 开关,具体用法:
find /i "Abc" d:\test.txt
这样文本内容中含有 Abc、abc、ABC的行都能被匹配到;find "Abc" d:\test.txt则严格区分字符大小写,只能匹配Abc,而不能匹配abc、ABC这样的字符。
3、查找不含有特定字符串的行
有时候我们要检测哪些行不含有特定的字符串,就可以使用开关/v,具体用法为:
find /v "Abc" d:\test.txt
表示查找那些不含字符串Abc的行(Abc要区分大小写)。
4、统计包含某个字符串的行数
统计下包含某个字符串的总行数,应该使用开关/c,具体用法为:
find /c "abc" d:\test.txt
5、显示行号
要在每行的行首显示行号,就可以使用开关/n,具体用法为:
find /n "abc" d:\test.txt
6、多个可选参数综合使用
find /i /v /n "Abc" d:\test.txt
仔细对照上面的帮助信息,很快就会理解它的功能:test.txt文件中,查找不包含字符串Abc的所有行,并在行首标上这些行的行号,查找时不区分大小写。
7、配合管道符使用
echo abcde|find "abc"
表示:在字符串abcde中,检测是否存在字符串abc。
find支持管道符,会把管道符号之前的语句的执行结果,作为指定字符串的查找对象。
find "abc" d:\test.txt | find "xyz"
表示在test.txt中查找同时存在字符串abc和字符串xyz的行,这种方式可以实现多重过滤。
三、总结
与findstr命令相比,find的功能就显得太有限了,仅仅不支持正则表达式这一点,很多人就更愿意选findstr。
findstr命令的具体用法,大家可以参考:Windows CMD中 findstr命令