模糊匹配是全文匹配; *代表多个字符, ?一个字符
正则表达是关键字匹配,是包含
^ 开头
$ 结尾
^$ 空行
. 任意一个字符
\ 反转义
* 前面一个字符重复0到多次
\{m,n\} 前面的字符重复m到n次 egrep或sed -r可以去掉\
\{m\} 前面字符重复了m次
[a-c|0-9] a,b,c或者一个数字
[^abc] []之外的
扩展正则:egrep, grep -E, sed -r
+ 前面字符重复至少一次
? 0或一个
| 同时过滤多个字符串
() 分组过滤,向后引用 sed -nr 's#^ () $#\1#gp'
1.取IP地址
ifconfig eth0 |sed -n '2p' |sed 's/^.*dr://g'|sed 's/ B.*$//g'
ifconfig eth0|sed -nr 's#^.*dr:(.*) Bcast.*$#\1#gp'
2.取文件权限
stat /etc/hosts|sed -nr 's#^.*\(0(.*)/-.*$#\1#gp'
3./etc/passwd 第一列和最后一列替换
sed -nr 's#^([^:]*)(:.*:)(/[^:]*)$#\3\2\1#gp' /etc/passwd