Grep命令为linux常用的命令之一,其作用为根据模式搜索文本病返回匹配模式的行。
用法:grep [options] pattern file
常用的options有:
-i,不区分大小写搜索
-n,在输出符合条件的行前显示行号
-o,只显示被模式匹配到的字符串
-w,只显示全字符合的列
-v,反向选取,只显示不符合模式的行
-A num,查找到符合模式的行后顺带显示其后面的num行
-B num,查找到符合模式的行后顺带显示其前面的num行
-C num,查找到符合模式的行后顺带显示其前后面的num行
正则表达式中的元字符用法:
^锚定行首符合条件的内容
$锚定行尾符合条件的内容
.匹配任意的单个字符
*匹配其前面字符任意次
\?匹配其前面字符0次或1次
\{m,n\}匹配其前面字符至少m次,至多n次
[]匹配制定范围内任意单个字符串
[^]匹配制定字符外任意字符
[a-z]任意小写字母
[A-Z]任意大写字母
[0-9]任意数字
[[:lower:]]任意小写字母
[[:upper:]]任意大写字母
[[:space:]]空格
[[:digit:]]数字
[[:alpha:]]所有字母
[[:alnum:]]所有字母加数字,相当于[a-zA-Z0-9]
[[:punct:]]所有标点符号
\(\) 匹配()内条件,还可以引用
\
\>锚定词尾
e.g:
1)找出/etc/passwd中以root开头的行
2)找出/etc/passwd中以bash结尾的行
3)找出/etc/rc.d/rc.sysinit中的空白行,显示行号且空白行的前后2行
4)显示/proc/meminfo文件中以不区分大小的s开头的行
5)显示/boot/grub/grub.conf文件中以一个或多个空白字符开头的行并显示行号