【批处理】findstr

【批处理】findstrfindstr命令。

大家好,欢迎来到IT知识分享网。

说明

findstr是Windows系统自带的命令,其说明如下:

【批处理】findstr

简单来说,就是根据一定的格式来查找文件中指定的行,并打印相关信息。

关于参数的介绍在上图中已经有体现。

下面以具体的示例来介绍如何使用findstr。

示例

介绍之前先说明使用的两个测试文件:

Test1.txt:

hello world
hello world boy
hello world girl
the world is over

Test2.txt:

hello world
hello world boy
hello world girl
the world is broken

1. 指定一个字符串和一个文件,打印找到的行:

findstr hello Test1.txt

得到的结果:

E:\Codes\bat>findstr hello Test1.txt
hello world
hello world boy
hello world girl

所有包含hello的语句都打印出来了。

2. 指定多个字符串和一个文件,打印找到的行:

findstr "hello world" Test1.txt

得到的结果:

E:\Codes\bat>TestFindstr.bat
hello world
hello world boy
hello world girl
the world is over

这里需要注意,多个字符串通过空格区分,且都需要在””之内,如果这里没有””,第二个字符串(就是这里的world)会被当成文件名。

还有一点值得关注,即同一行只会打印一次,即使包含多个字符串。

3. 指定多个字符串和多个文件,打印找到的行:

findstr "hello world" Test1.txt Test2.txt

得到的结果:

E:\Codes\bat>TestFindstr.bat
Test1.txt:hello world
Test1.txt:hello world boy
Test1.txt:hello world girl
Test1.txt:the world is overTest2.txt:hello world
Test2.txt:hello world boy
Test2.txt:hello world girl
Test2.txt:the world is broken

可以看到所有包含hello和world的语句都被打印出来了,且在每一行的开头打印都会指定对应的文件。

4. 将”hello world”作为一个整体来查找:

findstr /C:"hello world" Test1.txt

得到的结果:

E:\Codes\bat>TestFindstr.bat
hello world
hello world boy
hello world girl

与2相比,之类不再打印单独匹配world的行。

/C用于指定某个字符串,空格不再作为字符串的分隔符,而是作为字符串本身的一部分。

5. 只打印文件中完全匹配字符串的行:

findstr /C:"hello world" /X Test1.txt

得到的结果:

E:\Codes\bat>TestFindstr.bat
hello world

/X用来指定全字符串匹配的行,所以后面接了boy/girl的行都不算。

6. 只打印不匹配的行:

findstr /C:"hello world" /X /V Test1.txt

得到的结果:

E:\Codes\bat>TestFindstr.bat
hello world boy
hello world girl
the world is over

/V之后不再打印匹配的行,而是相反。

7. findstr中的字符串支持正则表达式,可以使用/R来指定,此时字符串编程正则表达式。

findstr /R "world$" Test1.txt

得到的结果:

E:\Codes\bat>TestFindstr.bat
hello world

这里的/R指定了正则表达式,而该表达式里面的$表示文件结尾,所以之类的意思就是找到文件结尾是world的字符串。

关于正则表达式的使用比较复杂,这里不多做介绍。

有了正则表达式,findstr的使用会更加的灵活,所以为了更好的使用findstr,学好正则表达式是比较有意义的。

其它说明

findstr的使用本身并不复杂,但是用好了还是会有很多益处的,在这里只做简单的介绍,只作为抛砖引玉。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/10099.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信