做国际贸易哪个网站好,重庆市公路建设网站,国内哪个推广网站做的好,做网站开发学什么内容文本处理器三剑客#xff1a;grep#xff08;查找#xff09; sed awk
正则表达式#xff1a;由一类特殊字符以及文本字符所编写的一种模式#xff0c;处理文本当中的内容
其中的一些字符不表示字符的字面含义#xff0c;这些字符表示控制或者通配的功能
通配符…文本处理器三剑客grep查找 sed awk
正则表达式由一类特殊字符以及文本字符所编写的一种模式处理文本当中的内容
其中的一些字符不表示字符的字面含义这些字符表示控制或者通配的功能
通配符匹配文件名和目录名不能匹配文件内容
正则表达式有两种匹配结果命令结果和文件内容都可以进行匹配 通配符
*匹配任意一个或多个字符 例ls *.txt
匹配任意一个字符 例ls ?,txt
[ ] 匹配范围内的任意单个字符 例touch {a..z}.txt ls [a-b].txt 正则表达式有两种形态 1、基本正则表达式 2、拓展正则表达式 两者仅限于写法上的区别其他一样
基本正则字符匹配元字符匹配的部分需要用引号引起来
.表示匹配任意的单个字符可以是一个汉字 例ls | grep 12.
\表示转义符 \.才是表示一个点
()表示分组的意思 \(\)这时仅表示( )
[ ]匹配已指定范围内的任意单个字符
例[0-9] [A-Z] [a-z] ls | grep [0-9] 显示所有ls | grep [0-9 a-z A-Z] 标准写法
[ ^ ]表示取反指定范围外的
例ls | grep [A-Z0-9.] .也算字符 例以rc开头任意单个字符0-6的数字 只匹配以rc.为开头的文件 过滤/etc/passwd中任意的两个字符r和t 总结通配符不能完全匹配大小写真正的大小写在正则表达式中
表示匹配不是a或者z的任意字符
正则表达式中表示次数的表达式
*匹配前面的字符任意次0次也行无数次也行有多少匹配多少没有也行 .*也是匹配任意长度的字符但是至少要有一次不包括0次 最少前面要有一个o否则不匹配 \?表示匹配前面的字符0次或者1次即可有可无 有则匹配没有也匹配 \匹配前面的字符至少一次最多可以无数次
\{n\}匹配前面的字符n次 精确匹配 n表示前面字符出现的次数多一次少一次都不行、、 \{mn\}匹配前面的字符最少m次最多n次 \{n\}匹配前面的字符最多n次 大于n不行 o最少出现n次
\{n\}匹配前面的字符至少n次 小于n不行
匹配次数就是核心 位置锚定以什么为开头以什么为结尾
^以什么为开头在模式的左侧 ^r 以r为开头
$以什么最为结尾在模式的右侧 r$ 以r为结尾
^ root $用于匹配整行而且整行中只有一个root多一个少一个都不行
^$匹配空行 词首锚定和词尾锚定用的较少
词尾铆钉或者 \b 推荐用\b因为更直观用\b的位置来判断词首和词尾
词首锚定或者 \b 例 分组用进行表示
精确匹配 \{\} 一定要连续出现 \{,3\} 就不用连续出现
\{n\} 表示正好n次n次表示前面的字符必须连续出现才能出现
\{n\} 只要出现几次都算除非没有
例 只匹配gogle \ |表示逻辑或 扩展正则就是把 \ 去掉不用再写但是也有要求 grep 要写成 grep -E 或 egrep