正则表达式
元字符:
. 单表任意单个字符,也可以是一个汉字
\:转义符
():分组 \(\)
[]:匹配范围内的任意单个字符
表示次数:
*匹配前面字符任意此,0次也算
.*匹配任意长度的任意字符,不包括0次
\?:匹配前面字符0或1次
\+:匹配前面的字符至少一次 >=1
\{n\}:匹配前面的字符n次
\{n,m\}:匹配前面的字符n-m次
位置锚点:
^:以什么为开头
$:以什么为结尾
^$:空行
^root$:匹配整行,整行只有root这一个字符串
\< \b 词首锚点 用于单词模式的左侧 (连续的字符,数字,下划线都算单词内部)
\> \b 词尾锚点,用于单词模式的右侧
\broot\b 匹配整个单词,而不是匹配行
扩展正则表达式:
\都不用加了
* ? + {n}...
grep -E
egrep
sed -r
文本三剑客:按行处理
grep 查
sed 免交互 流编辑器 除非确认操作,否则数据一概不变,在缓冲区的数据展示结束后,会被立刻销毁
sed
-e : 指定 命令来才处理输入的文本,只有一个操作命令可以不用
-f :用指定文件中的脚本来对另外一个文件进行处理
-i:将会之间生效
-n:屏蔽默认输出
s:替换字符
d:删除内容,删除指定行
a:新增,在当前行的下面插入一行指定内容
i:插入,在选定的行上面处插入指定内容
c:替换整行
y:单字符转换,转换前后的字符长度必须保持一致
p:打印
r:扩展正则表达式
sed :增删改查
awk