Windows cmd/powershell 管道过滤命令: find

Windows cmd/powershell 管道过滤命令: find

相比findstr命令find命令使用起来简单很多,只有五个选择开关。基本能够满足日常使用。find 的使用也和linux中的grep差不多,如果要使用grep -e 和 egrep 的效果可以使用 findstr 命令。

语法

find [/v] [/c] [/n] [/i] [/off[line]] <"string"> [[<drive>:][<path>]<filename>[...]]

参数

参数说明
/v显示不包含指定 <string>的所有行。
/c计算包含指定 <string> 行并显示总计的行。
/n在每行前面加上文件的行号。
/i指定搜索不区分大小写。
[/off[line]]不跳过已设置脱机属性的文件。
<"string">必需。 指定要搜索) 用引号括起来的字符组 (。
[<drive>:][<path>]<filename>指定要在其中搜索指定字符串的文件的位置和名称。
/?在命令提示符下显示帮助。

退出代码

退出代码说明
0找到搜索的字符串
1未找到搜索的字符串
2未找到搜索的文件或提供了无效的命令行开关
备注
  • 如果不使用 /i,此命令将搜索指定 字符串的内容。 例如,此命令以不同的方式处理字符a A。 但是,如果使用 /i,搜索将变得不区分大小写,并且会被视为a A同一个字符。
  • 如果要搜索包含引号的 (字符串,则必须对字符串中包含的每个引号使用双引号,例如“”此字符串包含引号“”“) 。
  • 如果省略文件名,则此命令充当筛选器,从标准输入源获取输入 (通常为键盘、管道 (|) 或重定向文件) ,然后显示包含 字符串的任何行。
  • 若要退出控制台搜索,请使用 CTRL-XCTRL-Z
  • 可以按任意顺序为 find 命令键入参数和命令行选项。
  • 不能在搜索的字符串中使用通配符 ( * 和 ?) 。 若要搜索具有通配符和正则表达式模式的字符串,可以使用 FINDSTR 命令。
  • 如果在同一命令行中使用 /c/v ,此命令将显示不包含指定字符串的行的计数。 如果在同一命令行中指定 /c/n则查找 忽略 /n
  • 此命令无法识别回车符。 使用此命令搜索包含回车符的文件中的文本时,必须将搜索字符串限制为可在回车符之间找到的文本,即回车符 () 不太可能中断的字符串。 例如,如果在单词税务和文件之间发生回车符,此命令不会报告字符串税务文件的匹配项。
  • 该命令接受文件名的通配符。 在文件 (或文件中搜索时,) 它将打印前面有十条短划线的已处理文件的文件。
  • Find 命令无法读取备用数据流。 若要在备用数据流中搜索,请使用 findstr,或者用于 /f 命令。

示例

下面通过几个例子可以来熟悉使用:

1、使用类似于linux中的 ls |grep "tset" ,那么在Windows cmd 使用 find 实现:

dir | find "test"

2、在test.txt找到包含 test 的所有行:

find "test" test.txt

3、在 test.txt 中查找 "hello word!" , 包含双引号的内容:

find """hello word!""" < test.txt

4、在 test.txt 中不区分大小的查找 test ,并输出行号:

find /i /n "text" test.txt

5、查找不包含 agent 的所有正在运行的进程数量

tasklist | find /v /i /c "agent"

6、检查 Winmgmt 服务是否正在运行:

sc query  Winmgmt | find "RUNNING" >nul 2>&1 && (echo service is started) || (echo service is stopped)

可以多尝试联系,还有更多用法待解锁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

之芫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值