find命令基本格式:find "要查找的字符串" 要查找的文件,此处,"要查找的字符串"这个内容必不可少,引号也是必须的。例如:find "miaomi" d:\test.txt,表示在D盘根目录下的文本文件test.txt中查找含有miaomi这一字符串的所有行。
find有两种返回结果:
1、当文件包含要查找字符串时,将返回这个字符串所在位置的整行内容,具体格式为:第一行是"---------- ×××" (×××表示被查找的文件名,不包括引号对),第二行才开始出现包含字符串的整行内容;
2、当文件中没有出现要查找的字符串时,find的结果仅仅返回"---------- ×××" 这一行内容(×××表示被查找的文件名,不包括引号对)。
需求一:查找指定字符串,不区分大小写
添加/i开关,find /i "Abc" test.txt,表示不区分大小写,文本内容中含有 Abc、abc、ABC之类的都算;find "Abc" test.txt则严格区分大小写,只能匹配Abc,而不能匹配abc、ABC之类的字符。
需求二:查找哪些行不含有特定的字符串
添加/v开关,find /v "Abc" test.txt,表示查找不含字符串Abc的行(Abc要区分大小写),如果不区分abc大小写,应写成find /i /v "Abc" test.txt。
需求三:统计包含某个字符串的行数
添加/c开关,find /c "abc" test.txt
需求四:要在每行的行首显示行号
添加开关/n,find /n "abc" test.txt,显示包括“abc”的行内容,不过在每行内容行首,都加上了行号——注意,它仅仅是在显示的时候加上行号而已,并没有真正改写文件的内容。
如果有这样的命令:find /i /v /n "Abc" test.txt,请一点要先沉住气,不要被众多的开关弄得眼花缭乱吓趴下了,仔细对照上面的解释,相信你很快就会理解它的功能:在test.txt文件中,查找不包含字符串Abc的所有行,并在行首标上这些行的行号,查找的时候,字符串Abc不区分大小写。
要是使用这样的语句:find /c /n "abc" test.txt,会出现什么样的结果呢?答案是:开关/n会被忽略掉,最终结果不会显示带行号的行内容,只会显示匹配的总行数而已。