大家好,我是老盖,首先感谢观看本文,本篇文章做的有视频,视频讲述的比较详细,也可以看我发布的视频。
今天我们学习findstr这个命令,它这个命令是在文件中搜索查询字符串,也可以用于其它命令输出的数据进行查找,findstr /?可以看到这个命令的参数和介绍,它这个命令参数比较多,我们用的最多的是它这个命令的R参数,/R将搜索字符串作为一般表达式使用。
一般表达式类似于正则表达式,但是比正则表达式稍微简单一点。
一般表达式的快速参考:
. 通配符: 任何字符
* 重复: 以前字符或类出现零或零以上次数
^ 行位置: 行的开始
$ 行位置: 行的终点
[class] 字符类: 任何在字符集中的字符
[^class] 补字符类: 任何不在字符集中的字符
[x-y] 范围: 在指定范围内的任何字符
\x Escape: 元字符 x 的文字用法
\
xyz\> 字位置: 字的结束
我准备了一个数据文件data.txt,里边写入了一些数字和英文,把它放在了dos的当前目录,一会用于命令测试。
[x-y] 范围: 在指定范围内的任何字符
我们首先使用查询1-9的数字,输入命令findstr /R "[1-9]" data.txt,执行后可以看到搜索到的数字行全部被输出出来了。
我们再测试一下a到z英文字符的行,输入命令findstr /R "[a-z]" data.txt,执行后可以看到英文行输出了出来。
这次我们只输出a到c测试一下,输入命令findstr /R "[a-c]" data.txt,只输出了abc三行。
我们看一下其他参数,参数/V 只打印不包含匹配的行,输入命令findstr /V /R "[a-c]" data.txt,可以看到除了abc这三行,其他的数据行被输出出来了。
[^]任何不在字符集中的字符,我们用一般表达式中的这个符号,来代替参数V,输入命令findstr /R "[^a-c]" data.txt,它是除了abc这三行其他的行搜索,执行后可以看到其他行输出了。
我们再看一下参数N,/N 在匹配的每行前打印行数,输入命令findstr /N /R "[^a-c]" data.txt,可以看到其他的行加上了行数。
其他的一些参数,大家可以测试一下,findstr这个命令我们用的也比较多,经常用于bat批处理脚本中,判断一些命令根据命令的输出做出判断,是否命令执行成功等一些操作,大家可以多练习一下这个命令。
感谢观看本篇文章,希望对你有所帮助,本文由老盖聊技术原创,我是老盖,专注分享IT互联网与电脑知识,欢迎关注,本文是出于爱心帮助人的目的所写,请随意分享转载,帮助人越多爱的力量就越大,感谢正能量传播。
领取专属 10元无门槛券
私享最新 技术干货