shell学习笔记一
2012-01-04 21:41
239 查看
1、方括号表达式
在方括号表达式中,所有其他的mete字符(即元字符,特殊字符)都会失去其特殊含义。
eg:[*\.]匹配于字面上的星号、反斜杠和句点。
另外,要让 ] 进入该集合,可以将它防盗列表的最前面。
如果有减号字符进入该集合,也应该放到最前端,如果两者都有 ,则将右方括号放到第一个字符,减号放到最后一个字符。
2、后向引用
BRE(在ERE中并不存在)提供了一种叫后向引用的机制(backreferences),意思是“匹配于正则表达式匹配的先前部分”。
一共需要两个步骤,第一步:将子表达式包围在\(和\)里面,单个模式里可包括最多9个子表达式,且可以嵌套结构;
第二步:在同一模式之后使用\DIGIT,DIGIT指的是介于1至9的数字,意思是“匹配于先前括号内匹配成功的第DIGIT个字符”。
3、交替
方括号表达式易于表示“匹配于此字符、其他字符,或者...”,但不能指定“匹配于这个序列、其他序列。或者...”,而要到达这个目的,可以使用交替(alternation)运算符,或称为管道字符(|)。交替运算符在ERE运算符优先级是最低的。
4、停驻文本匹配
在ERE里,^ 和$永远是meta字符,而在BRE中,这两个字符如果不是在字符首或尾,则表示字面值。在ERE中,像ab^cd&gb仍然是有效的,只是无法匹配任何东西。
5、sed插入
6、sed的替换
在s命令以g结尾表示全局性,意思是“替换文本取代正则表达式中每一个匹配的”,如果没有设置g,sed只会取代第一个匹配的,还可以在结尾指定数字,指示第n个匹配出现才匹配。
在方括号表达式中,所有其他的mete字符(即元字符,特殊字符)都会失去其特殊含义。
eg:[*\.]匹配于字面上的星号、反斜杠和句点。
另外,要让 ] 进入该集合,可以将它防盗列表的最前面。
>cat tmp ab]cdef acdg cd a-g >grep []] tmp ab]cdef
如果有减号字符进入该集合,也应该放到最前端,如果两者都有 ,则将右方括号放到第一个字符,减号放到最后一个字符。
2、后向引用
BRE(在ERE中并不存在)提供了一种叫后向引用的机制(backreferences),意思是“匹配于正则表达式匹配的先前部分”。
一共需要两个步骤,第一步:将子表达式包围在\(和\)里面,单个模式里可包括最多9个子表达式,且可以嵌套结构;
第二步:在同一模式之后使用\DIGIT,DIGIT指的是介于1至9的数字,意思是“匹配于先前括号内匹配成功的第DIGIT个字符”。
3、交替
方括号表达式易于表示“匹配于此字符、其他字符,或者...”,但不能指定“匹配于这个序列、其他序列。或者...”,而要到达这个目的,可以使用交替(alternation)运算符,或称为管道字符(|)。交替运算符在ERE运算符优先级是最低的。
4、停驻文本匹配
在ERE里,^ 和$永远是meta字符,而在BRE中,这两个字符如果不是在字符首或尾,则表示字面值。在ERE中,像ab^cd&gb仍然是有效的,只是无法匹配任何东西。
5、sed插入
$ cat tmp hello, welcome to linux's world! $ sed 's/hello/&, lyj/' tmp hello, lyj, welcome to linux's world!
6、sed的替换
在s命令以g结尾表示全局性,意思是“替换文本取代正则表达式中每一个匹配的”,如果没有设置g,sed只会取代第一个匹配的,还可以在结尾指定数字,指示第n个匹配出现才匹配。
相关文章推荐
- shell学习笔记之命令(四)
- shell学习笔记 (5)
- Shell 学习笔记 (org-mode制作)
- Shell学习笔记
- shell转义符学习笔记
- SELL学习笔记前言:我对SHELL学习的计划
- shell 学习笔记整理(一)
- [Shell学习笔记] 数组、关联数组和别名使用
- Linux之Shell脚本学习笔记
- shell学习笔记
- [Bash Shell] Shell学习笔记
- MongoDB 学习笔记(二)—— MongoDB Shell
- Linux Bash Shell学习笔记
- HBASE学习笔记--shell
- shell学习笔记一 变量
- Shell 编程学习笔记:条件测试
- Linux系统命令及Shell脚本学习笔记四:Linux文件系统
- Shell脚本学习笔记(四)--流程控制
- shell 编程学习笔记(一)
- shell学习笔记(一)