【Linux命令】grep命令

【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

原文地址:https://www.cnblogs.com/utank/p/11971872.html