7月23日 正则符号
2019-07-23 本文已影响0人
Mashirooooo
系统通配符号
*
匹配所有内容
[root@oldboy63-libo oldboy]$ find /oldboy -type f -name "old*"
/oldboy/oldboy1.txt
/oldboy/oldboy2.txt
/oldboy/oldboy3.txt
/oldboy/oldboy4.txt
/oldboy/oldboy5.txt
{}
匹配序列信息
快速备份
[root@oldboy63-libo oldboy02]$ cp /oldboy/oldboy02/oldboy.txt{,.bak}
[root@oldboy63-libo oldboy02]$ ls
oldboy.txt oldboy.txt.bak
快速还原
[root@oldboy63-libo oldboy02]$ cp /oldboy/oldboy02/oldboy.txt{.bak,}
系统正则符号
主要在grep sed awk 命令用
基础正则
basic regular expression缩写 BRE
扩展正则
extended regular expression缩写 ERE
基础正则
^
表示以什么开头的信息
image.png
$
表示以什么结尾的信息
image.png
结尾有空格无法显示
底行模式查看结尾空格信息 set list
命令查看结尾空格信息cat -A
\ 不属于正则符号
\ 转义符号
1.将有特殊意义的符号,还原本身符号意义
2.将没有意义的字符,变为有意义
\r
\n
换行符
\t
指表符
3.取消别名功能
^$
空行信息
.
匹配任意一个且只有一个字符
*
匹配前一个字符连续出现0次或者多次
.*
匹配文件中所有信息
[]
匹配中括号中任意一个字符
grep "[a-z]" oldboy.txt --- 过滤小写字母
grep "[A-Z]" oldboy.txt --- 过滤大写字母
grep "[a-zA-Z]" oldboy.txt --- 过滤所有字母
grep "[a-Z]" oldboy.txt --- 过滤所有字母
grep -i "[a-z]" oldboy.txt --- grep忽略大小写进行过滤
[^]
将指定字符信息进行取反过滤
image.png
高级符号
高级符号必须用
egrep或者grep -E
sed -r
来识别
+
匹配前一个字符连续出现1次或者多次
|
匹配多个字符串信息
()
将多个字符串进行整合过滤
实现后项引用前项进行替换
{}
匹配前一个字符连续出现指定的次数
{n,m}匹配前一个字符连续出现至少n次最多m次
{n}匹配前一个字符连续出现正好n次
{n,}匹配前一个字符连续出现最少n次,最多不限
{,m}匹配前一个字符连续出现最少0次, 最多是m次
?
匹配前一个字符连续出现0次或者1次