shell编程(七)--- sed的用法
^:行首定位符。如/^my/表示匹配所有以my开始的行。$:行尾定位符。如/my$/表示匹配所有以my结尾的行。
.:匹配除换行符以外的任意单个字符。如/m..y/匹配包含字母m,后跟两个任意字符,再跟字母y的行。
*:表示匹配前一个字符出现0次或多次。如/my*/匹配包含字母m,后跟零个或多个y字母的行。
[]:表示匹配范围内的任意一个字符。如/y/匹配包含My或my的行。
[^]:表示匹配不再指定范围外的任意一个字符。如/[^Mm]y/匹配包含y,但y之前的那个字符不是M或m的行。
\(..\):保存已匹配的字符。如1,20s/\(you\)self/\1r/标记元字符之间的模式,并将其保存为标签1,之后可以使用\1来引用它。最多可以定义9个标签,从左边开始编号,最左边的是第一个。此例中,对第1到第20行进行处理,you被保存为标签1,如果发现youself,则替换为your。
&:保存查找串以便在替换串中引用。如s/my/**&**/符号&代表查找串。my将被替换为**my**
\/匹配包含以my结尾的单词的行。
x\{m\}:连续m个x。如/9\{5\}/ 匹配包含连续5个9的行。
x\{m,\}:至少m个x。如/9\{5,\}/匹配包含至少连续5个9的行
x\{m,n\}。至少m个,但不超过n个x。如/9\{5,7\}/匹配包含连续5到7个9的行
如下这些同样可用:
[:alnum:][:alpha:][:blank:][:cntrl:]
[:digit:][:graph:][:lower:][:print:]
[:punct:][:space:][:upper:][:xdigit:]
页:
[1]