
-i:忽略大小写-v:对结果取反-c:统计匹配的行数-q:静默,无任何输出,通常配合$?进行检测-n:显示匹配结果行号--color:标红匹配字段基本正则表

拓展正则表

补充两个:
{n}:匹配前一个字符n次
{n, }:匹配1前一个字符n次及以上
注意:\b 的位置不能出现数字字符下划线和符号
拓展正则表是对基本正则表中后四个的优化。
常用正则
.*:代表通配符,匹配所有,包括空行,而 . 不能匹配空行^$:代表匹配空行案例
匹配11位手机号
15940401491
1589562
13872375901
13177029023
1358954
abd152dwqewq
159saesa256
[root@shell ~]# egrep '^[0-9]{11}\b' num
15940401491
13872375901
13177029023
特点:可以对文档进行非交互式的增删改查,逐行进行处理
使用格式:sed 选项 '条件 指令' 文档
这里的条件也叫做定址符(执行指令的条件)控制sed需要处理文本的范围;不加定址符则逐行处理所有行
注意:条件和指令之间可以空格,也可不空格
常用选项
-n:屏蔽默认(原始)输出(sed默认会将原始文本和变动文本都输出)-i:修改文件内容(不加时可用作测试)-r:启用扩展正则,若与其他选项一起用,则应写到第一个条件(定址符):可以使用数字当做行号或者正则表达式,使用正则的话需要将正则表达式用 / / 括起来

输出以root开头的行。
常用指令
p:打印行

d:删除行

s:字符串替换

=:输出行号
有一个用处,获取最后一行的行号,$= 就是最后一行的行号

补充指令(对文本块的处理)
i:行前插入文本a:行后插入文本c:替换当前行
注意:在插入文本时,文本不能加双引号,即便是文本中间有空格也不需要。