【grep命令】
说明:
grep 是 Global Regular Expression Print 的缩写,它搜索指定文件的内容,匹配指定的模式,默认情况下输出匹配内容所在的行。
语法格式:
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
常用选项[OPTIONS]:
-a 不要忽略二进制数据。
-A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
-b 在显示符合范本样式的那一行之外,并显示该行之前的内容。
-c 计算符合范本样式的列数。
-C<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-d<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。
-e<范本样式> 指定字符串作为查找文件内容的范本样式。
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。
-F 将范本样式视为固定字符串的列表。
-G 将范本样式视为普通的表示法来使用。
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H 在显示符合范本样式的那一列之前,标示该列的文件名称。
-i 忽略字符大小写的差别。
-l 列出文件内容符合指定的范本样式的文件名称。
-L 列出文件内容不符合指定的范本样式的文件名称。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-q 不显示任何信息。
-R/-r 此参数的效果和指定“-d recurse”参数相同。
-s 不显示错误信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-y 此参数效果跟“-i”相同。
-o 只输出文件中匹配到的部分。
匹配模式PATTERN:
1、直接输入要匹配的字符串
2、使用基本正则表达式
3、使用扩展的(Extend)正则表达式(注意:使用扩展的正则表达式要加-E选项)
示例:
1、在一个文件中搜索:
命令:grep host /etc/hosts
说明:在/etc/hosts文件中搜索"host",返回包含 "host" 的文本行。
2、在多个文件中搜索:
命令:grep host /etc/hosts /etc/host.conf
说明:在/etc/hosts和/etc/host.conf文件中搜索"host",返回包含 "host" 的文本行。
3、-i忽略字符大小写区别:
4、-n显示行号:
5、-r递归搜索目录下所有文件:
6、-f指定范本文件搜索
说明:范本文件/etc/hostname的内容为"ubuntu"
参考摘引:
https://www.cnblogs.com/flyor/p/6411140.html
https://www.cnblogs.com/xiangtingshen/p/10927081.html
https://www.cnblogs.com/lemon-feng/p/11249461.html