grep全称是(Global Regular Expression Print)是一种强大的文本搜索工具,根据用户指定模式逐行搜索
主要选项如下:
--color=auto:高亮显示匹配内容
-v:反向显示,只显示不包含匹配文本的所有行
-o:不显示匹配行只显示匹配内容
-i:忽略大小写
-E:支持扩展正则表达式
-n:显示匹配行及 行号
-An:显示匹配行和以下n行
-Bn:显示匹配行和以上n行
-Cn:显示前后各n行
文件通配符 | |||
符号 | 备注 | 举例 | 说明 |
* | 任意长度的任意字符 | ls -d /etc/* | 查看etc下所有文件和目录 |
? | 任意单个字符 | ls -d /etc/p?i | 查看etc下p开头i结尾中间包含任意单个字符的文件和目录 |
[] | 指定范围类的单个字符 | ls -d /etc/p[pk]p | 查看etc下p开头p结尾中间只包含p或k的文件和目录 |
[^] | 指定范围外的单个字符 | ls -d /etc/p[^a-z]p | 查看etc下p开头p结尾中间不包含字母的文件和目录 |
[:space:] | 空白字符 | grep "^#[[:space:]]*$" /etc/inittab | 查找出以#开头中间包含任意空白符的行, |
[:punct:] | 标点符号 | ||
[:lower:] | 小写字母 | ||
[:upper:] | 大写字母 | ||
[:digit:] | 数字 | ||
[:alnum:] | 所有字母和数字 | ||
[:alpha:] | 所有字母 | ||
正则表达式 | |||
. | 任意单个字符 | ||
[] | 指定范围内的任意单个字符 | ||
[^] | 指定范围外的单个字符 | ||
* | 前一字符出现的任意长 | ||
? | 前一字符出现的0次或1次 | ||
\{m\} | 前一字符出现最少m数 | ||
\{m,\} | 前一字符出现最少m数,到多次 | ||
\{m,n\} | 前一字符出现最少m次,最多n次 | ||
.* | 任意长度任意字符 | ||
^ | 行首锚定 | ||
$ | 行尾锚定 | ||
^$或者^[[:space:]]$ | 表示空白行 | ||
\< | 词首锚定 | ||
\> | 词尾锚定 | ||
\(\) | 分组符号 | grep "\(by\) " /etc/inittab | |
\n | 引用第n个分组括号内容。 | ||
扩展正则表达式 | |||
?{}() | 无需转义,词首词尾还需转义 | ||
+ | 表示前一字符至少出现一次 | ||
| | 或 |
原文:http://5990383.blog.51cto.com/5980383/1624814