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次

上一篇 下一篇

猜你喜欢

热点阅读