命令格式:
find [/V] [/C] [/N] [/I] "string" [[drive:] [path] filename [ ... ]]
命令功能:
在命令行下,用户可以使用find命令在文件中搜索字符串,并把包含该字符串的所有行的整行内容输出。
【/V参数】
只输出不包含搜索文本的行。
示例
a.txt的内容如下:
this is a book.
one two three
11 22 33
运行
C:\>find "one" a.txt //命令一
---------- A.TXT
one two three
C:\>find /v "one" a.txt //命令二
---------- A.TXT
this is a book.
11 22 33
解析
- 命令一:没有使用/V参数,输出a.txt中包含“one”的行
- 命令二:使用/V参数,输出a.txt中不包含“one”的行
【/C参数】
仅输出包含 "string"的行数。C是count(总数)的首字母。
示例
a.txt的内容如下:
this is a book.
one two three
11 22 33
33 22 11
运行
C:\>find /C "11" a.txt
---------- A.TXT: 2
解析
- 输出a.txt中包含“11”的行数
【/N参数】
在匹配的每行前显示行号。行号从1开始计数,即:第一行的行号是1
示例
a.txt的内容如下:
this is a book.
one two three
11 22 33
33 22 11
运行
C:\>find /n "11" a.txt
---------- A.TXT
[3]11 22 33
[4]33 22 11
解析
- 输出结果中,每行前面添加 [ 该行的行号 ]
【/I参数】
指定“string”不区分字母大小写。默认情况下,“string”是区分大小写的。
示例
a.txt的内容如下:
this is a book.
one two three
运行
C:\t>find "oNE" a.txt //命令一
---------- A.TXT
C:\>find /i "oNE" a.txt //命令二
---------- A.TXT
one two three
解析
- 命令一:默认情况下,搜索文本(“oNE”)是区分大小写的。
- 命令二:使用/i参数指定搜索文本(“oNE”)不区分字母大小写。
【"string"】
指定搜索文本,注意:双引号不可缺
【[[drive:] [path] filename [ ... ]]】
filename指定被搜索的文件名
drive 指定filename所在的驱动器名称,例如:C,D ...
path 指定 filename 的路径
示例
a.txt的内容如下:
this is a book.
one two three
运行
C:\out>where a.txt // 命令一
C:\out\a.txt
C:\out>find "one" C:\out\a.txt // 命令二
---------- C:\OUT\A.TXT
one two three
解析
- 命令一:显示a.txt的完整路径名
- 命令二:在find命令中,使用完整路径文件名,而不是相当路径文件名
filename的注意点
- filename可以是隐藏文件
- filename支持通配符
- filename可以包含相对路径,也可以包含绝对路径
- 如果filename不包括,则其两边的双引号可有可无,如果filename中包含空白,则必须使用双引号引起来
- 同一条findstr命令中,可以有多个filename
【总结】
find命令是一条常用的DOS命令,用法简单高效。由于其不具备“支持正则表达式、多目录搜索、递归搜索”等特性,对于一些复杂的搜索文本操作是不适用的。这时使用findstr命令是不错的选择,findstr命令是find命令的升级版,其用法详见 findstr命令之参数完整解析https://blog.csdn.net/mt15306338066/article/details/127145709
写作不易,如果您觉得对您有用,请 “在下面一圈三连”。