大家好,欢迎来到IT知识分享网。
说明
findstr是Windows系统自带的命令,其说明如下:
简单来说,就是根据一定的格式来查找文件中指定的行,并打印相关信息。
关于参数的介绍在上图中已经有体现。
下面以具体的示例来介绍如何使用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