9.1 正则介绍 grep(上)
1)正则解释
正则就是一串有规律的字符串;
grep 过滤关键词
< mkdir /grep/ >
< cp /etc/passwd /root/grep/ >
< grep ‘nologin‘ passwd > 过滤nologin 自动标红了
< grep -c ‘nologin‘ passwd > 显示行数
<grep -n ‘nologin‘ passwd > 显示行号
< grep -ni ‘nologin‘ passwd > 不区分大小写
< grep -v ‘nologin‘ passwd > 除了nologin 的都过滤出来
<grep -r ‘root‘ /etc/ > /遍历目录下所有包括子目录/孙目录的文件都列出来
<grep -nA2 ‘root‘ passwd > 把找到的root行列出来包括其下面的2行
<grep -nB2 ‘root‘ passwd > 把找到的root行列出来包括其上面的2行
<grep -nC2 ‘root‘ passwd > 把找到的root行列出来包括其上面和下面2行
9.2 正则 grep(中)
不要改系统下/etc/下的配置文件,否者可能系统出错,可以拷贝出来后修改备份文件。
<grep ‘[0-9]’ passwd > 包含0-9的任意数字的都列出来
<grep -n ‘^#‘ /etc/inittab >^ 以#开头的行
<grep -n ‘[^0-9]‘ /etc/inittab > 非0-9
[^] 在括号内取反
例如 [^0-9] 那就是非数字(包括字母+特殊符号)
例如[^a-zA-Z] 那就是非字母(包括数字+特殊符号)
例如[^0-9a-zA-Z]那就是非数字字幕(特殊符号)
<grep -n ‘ ^[^0-9]‘ /etc/inittab > 以一个非数字的字符开头的行
9.3 正则 grep(下)
<grep ‘r.o‘ passwd> 点.匹配任意的一个字符
<grep ‘oo‘ passwd> 星 匹配任意N个字符
<grep ‘.‘ passwd> 点星 . 任意一个任意字符
<grep ‘o{2}‘ passwd> o出现两次 == <egrep ‘o{2}‘ passwd> == <grep -E ‘o{2}‘ passwd>
<grep ‘o{0,3}‘ passwd> o出现0-3次
<egrep ‘(oo){2}‘ passwd> oo出现两次
<grep ‘o+o‘ passwd> +加号表示前面o的1次或者N次=<egrep ‘o+o‘ passwd>
<egrep ‘o?t‘ passwd> ?前面o没有或者有一次
<egrep ‘root|nologin‘ passwd> | 或者
原文地址:http://blog.51cto.com/iammalt/2061313