grep: Global search REgular expression and Print out  the line
作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查,打印匹配到的行
模式:由正则表达式字符及文本字符所编写的过滤条件

 

所有的类linux系统都会提供一个名为grep(global regular expression print,全局正则表达式输出)的搜索工具。grep命令在对一个或多个文件的内容进行基于模式的搜索的情况下是非常有用的。模式可以是单个字符、多个字符、单个单词、或者是一个句子。当命令匹配到执行命令时指定的模式时,grep会将包含模式的一行输出,但是并不对原文件内容进行修改。

 1、在文件中查找模式(单词)

grep 新疆 1.txt

 2、在多个文件中查找模式

grep 新疆 1.txt 2.txt  

 3、使用-L参数列出包含指定模式的文件的文件名

grep -l 新疆 1.txt 2.txt 

4、使用-N参数,在文件中查找指定模式并显示匹配行的行号

grep -n 新疆 1.txt

5、使用-V参数输出不包含指定模式的行

grep -v 新疆 1.txt 2.txt  

6、使用 ^ 符号输出所有以某指定模式开头的行

grep ^新疆 1.txt 

7、使用 $ 符号输出所有以指定模式结尾的行

grep 省$ 1.txt 

8、使用 -R 参数递归地查找特定模式(在目录/opt/test/中查找)

grep -r 新疆 /opt/test/  

9、使用 Grep 查找文件中所有的空行(没有空行,就没有任何输出)

grep ^$ 1.txt   

10、使用 -I 参数查找(在查找时忽略大小写)

grep -i xinjiang 1.txt  

11、使用 -E 参数查找多个

grep -e "新疆" -e "xinjiang" 1.txt   

12、使用 -F 用文件指定待查找的模式(在当前目录中创建一个搜索模式文件3.txt ,然后用3.txt文件进行搜索)

[root@localhost test]# touch 3.txt
[root@localhost test]# cat 3.txt 
xinjiang
省$
^新疆
[root@localhost test]# grep -f 3.txt 1.txt 

13、使用 -C 参数计算模式匹配到的数量

grep -c -f 3.txt 1.txt 

14、输出匹配指定模式行的前或者后面N行

       1)使用-B参数输出匹配行的前2行

grep -B 2 "新疆" 1.txt 

       2)使用-A参数输出匹配行的后2行

grep -A 2 "新疆" 1.txt 

       3)使用-C参数输出匹配行的前后2行

grep -C 2 "新疆" 1.txt 
posted on 2020-12-09 16:27  HunterGTT  阅读(2)  评论(0编辑  收藏  举报