Windows命令之findstr命令

一、命令简介

  findstr是window系统自带的命令,用途是查找指定的一个或多个文件文件中包含某些特定字符串的行,并将该行完整的信息打印出来,或者打印查询字符串所在的文件名。通过管道符与其他命令结合使用,其用途和用法都类似linux下的grep命令,用于查找过滤指定字符串。

二、使用示例

1、查看命令帮助

使用findstr /? 获取命令帮助
在这里插入图片描述

2、查找文件中包含字符串的行

在这里插入图片描述

3、查找字符串时忽略大小写

在这里插入图片描述

4、多字符串条件或查找

findstr “字符串1 字符串2” 文件,按照条件或查找文件中包含字符串1或者字符串2的行。
在这里插入图片描述

5、查找包含空格的字符串行

findstr /C:“字符串” file,查找包含空格的字符串匹配行
在这里插入图片描述

6、按正则表达式查找字符串

find /R “^字符串” file 查找file文件中这开头的行
在这里插入图片描述
在这里插入图片描述

7、打印行号

find /N “字符串” 打印匹配行的行号
在这里插入图片描述

8、匹配结果反选

findstr /V “字符串” file 显示不匹配的行
在这里插入图片描述

9、递归查找

find /S “字符串” 查找当前目录下及子目录匹配字符串的行
在这里插入图片描述

10、指定类型文件下查找

find “字符串” *.txt 查找txt类型文件包含字符串的行。
在这里插入图片描述

11、从指定的文件获取需要查找的字符串

findstr /G:s.txt file 通过s.txt文件获取需要查找的字符串
在这里插入图片描述

三、使用语法及参数说明

1、使用语法

用法:findstr [参数] [字符串] [磁盘:[目录]文件]

2、参数说明

参数参数说明
/B在一行的开始配对模式。
/E在一行的结尾配对模式。
/L按字使用搜索字符串。
/R将搜索字符串作为一般表达式使用。
/S在当前目录和所有子目录中搜索匹配文件。
/I指定搜索不分大小写。
/X打印完全匹配的行。
/V只打印不包含匹配的行。
/N在匹配的每行前打印行数。
/M如果文件含有匹配项,只打印其文件名。
/O在每个匹配行前打印字符偏移量。
/P忽略有不可打印字符的文件。
/OFF[LINE]不跳过带有脱机属性集的文件。
/A:attr指定有十六进位数字的颜色属性。请见 “color /?”
/F:file从指定文件读文件列表 (/ 代表控制台)。
/C:string使用指定字符串作为文字搜索字符串。
/G:file从指定的文件获得搜索字符串。 (/ 代表控制台)。
/D:dir查找以分号为分隔符的目录列表
strings要查找的文字。
[drive:][path]filename指定要查找的文件。

3、常用正则表达式说明

表达式说明
.通配符: 任何字符
*重复: 以前字符或类出现零或零以上次数
^行位置: 行的开始
$行位置: 行的终点
[class]字符类: 任何在字符集中的字符
[^class]补字符类: 任何不在字符集中的字符
[x-y]范围: 在指定范围内的任何字符
\xEscape: 元字符 x 的文字用法
<xyz字位置: 字的开始
xyz>字位置: 字的结束
findstr命令Windows系统中的一个命令行工具,用于在文本文件中查找指定的字符串或模式。它的语法如下: ``` findstr [/b] [/e] [/l] [/r] [/s] [/i] [/v] [/c:string] [/g:file] [/f:file] [strings] [drive:][path]filename[ ...] ``` 其中,各个参数的含义如下: - /b:表示匹配字符串必须出现在单词或行首位置。 - /e:表示匹配字符串必须出现在单词或行尾位置。 - /l:表示字符串参数是字面值而非正则表达式。 - /r:表示字符串参数是正则表达式。 - /s:表示在子目录中递归查找。 - /i:表示忽略大小写。 - /v:表示查找与指定字符串不匹配的行。 - /c:string:表示查找指定字符串。 - /g:file:表示从指定文件中获取搜索字符串。 - /f:file:表示在指定文件中查找字符串。 - strings:要查找字符串或正则表达式。 - filename:要查找的文件名或通配符。 例如,要在文件test.txt中查找包含字符串"hello world"的行,可以使用以下命令: ``` findstr "hello world" test.txt ``` 如果要忽略大小写,可以使用/i参数: ``` findstr /i "hello world" test.txt ``` 如果要在子目录中递归查找,可以使用/s参数: ``` findstr /s "hello world" *.txt ``` 需要注意的是,findstr命令只能查找文本文件,无法查找二进制文件。同时,由于findstr命令的匹配模式较为简单,对于复杂的匹配需求,建议使用其他的文本处理工具。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒悦sunsite

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值