Linux文本处理命令支持的正则表达式有两类 :
- 基础正则
- 扩展正则:可以做组字符串处理
grep: 筛选出想要的字符串
^在[]内表示反向选择,在[]外表示定位在行首。
1 | grep -n 't[ae]st' filename //a或e |
sed: 对指定的字符串执行替换删除新增
1 | nl /etc/passwd | sed '2,5d' //删除2-5行 |
egrep: 支持扩展正则表达式
1 | grep -v '^$' filename | grep -v '^#' |
等同
1 | grep -v '^$|^#' filename |
*:零个或零个以上
1
egrep -n 'go*d' filename
+:一个或一个以上
1
egrep -n 'go+d' filename
|:用or的方式找
1
egrep -n 'gd|good' filename
():群组字符串
1
egrep -n 'g(la|oo)d' filename
()+:多个重复群组判断
1
egrep -n 'A(xyz)+C' filename