shell正则表达式部分(复习)

元字符:描述字符的字符,它用于对字符表达式的内容、转换及各种操作信息描述
正则表达式:是由一系列字符和元字符构成的字符串,简称RE(Regular Expression),它的主要功能是文本查询和字符串操作,它可以匹配文本的一个字符或字符集合。


基本正则表达式元字符(sed,grep,awk等工具)
字符匹配

.:匹配任意单个字符
[]:匹配指定范围内任意单个字符
[^]:匹配指定范围内的任意单个字符
[[:digit:]]:匹配一个数字
[[:lower:]]:匹配小写字母 
[[:upper:]]:匹配大写字母
[[:alpha:]]:匹配字母
[[:alnum:]]:匹配字母和数字
[[:space:]]:匹配空格
[^[:digit:]]:匹配指定范围内的任意单个数字

位置匹配

*:匹配前面的字符任意次
.*:任意长度任意字符
\?:匹配前面对的字符串0次或1次
\+:匹配前面的字符至少一次
\{m\}:匹配前面的字符m次
\{m,n\}:匹配前面的字符至少m次,之多n次
\{m,\}

位置锚定

^:行首锚定
$:行尾锚定
^PATTERN$:用于匹配整行
^$:匹配空行
\<:词首锚定
\>:词尾锚定
\<PATTERN\>:匹配整个单词

分组

\(xy\):将xy作为一组

后向引用:引用前面的分组括号中的模式所匹配的字符,使用\1,\2,\3
\1:从左侧起,第一个左括号以及与之匹配的右括号之间的模式所匹配的字符


通配符(通配符是系统命令使用)

*:匹配任意多个字符(0或者多个)
?:匹配任意一个字符
[]:匹配中括号内出现的任意一个字符
[!]或者[^]:不匹配中括号内出现的任意一个字符
[[:digit:]]:匹配一个数字
[[:lower:]]:匹配小写字母 
[[:upper:]]:匹配大写字母
[[:alpha:]]:匹配字母
[[:alnum:]]:匹配字母和数字
[[:space:]]:匹配空格
[^[:digit:]]:匹配指定范围内的任意单个数字

grep (全面 搜索正则表达式并把行打印出来) 是一种强大的文本搜索工具, 它
能 使用正则表达式搜索文本,并把匹配的行打印出来

-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

猜你喜欢

转载自blog.csdn.net/wangyeshun/article/details/82467050
今日推荐