http://blog.youkuaiyun.com/pipisorry/article/details/24143801
通配符(bash 操作)
在 bash 操作环境中还有一个非常有用癿功能,那就是通配符 (wildcard) ! 用 bash 处理数据就更方便了!
常用通配符
[::] | 见下表POSIX字符组 |
除了通配符外,bash 环境中的特殊符号
Note:
1. 理论上,你的『档名』尽量不要使用上述字符
2. 如bash命令find可以使用通配符
正则表达式
正则表达式是一个查询的字符串,它包含一般的字符和一些特殊的字符,特殊字符可以扩展查找字符串的能力,正则表达式在查找和替换字符串的作用不可忽视,它能很好提高工作效率。
linux正则表达式中的特殊符号:POSIX字符组
POSIX字符组 | 说明 | 范围 |
---|---|---|
[[:alnum:]] | 字母字符和数字字符 | [a-zA-Z0-9] |
[[:alpha:]] | 字母 | [a-zA-Z] |
[[:ascii:]] | ASCII字符 | [\x00-\x7F] |
[[:blank:]] | 空格字符和制表符 | [ \t] |
[[:cntrl:]] | 控制字符 | [\x00-\x1F\x7F] |
[[:digit:]] | 数字字符 | [0-9] |
[[:graph:]] | 空白字符之外的字符 | [\x21-\x7E] |
[[:lower:]] | 小写字母字符 | [a-z] |
[[:print:]] | [:graph:]和空白字符 | [\x20-\x7E] |
[[:punct:]] | 标点符号 | [][!”#$%&’()*+,./:;<=>? @\^_`{|}~-] |
[[:space:]] | 空白字符 | [ \t\r\n\v\f] |
[[:upper:]] | 大写字母字符 | [A-Z] |
[[:xdigit:]] | 十六进制字符 | [A-Fa-f0-9] |
基础正则表达式字符汇整 (characters)
Note:
1.表达式 说明
\t 制表符.
\n 新行.
. 匹配任意字符.
| 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc".
[] 匹配列表之中的任何单个字符. 例如, "[ab]" 匹配 "a" 或者 "b". "[0-9]" 匹配任意数字.
[^] 匹配列表之外的任何单个字符. 例如, "[^ab]" 匹配 "a" 和 "b" 以外的字符. "[^0-9]" 匹配任意非数字字符.
* 其左边的字符被匹配任意次(0次,或者多次). 例如 "be*" 匹配 "b", "be" 或者 "bee".
+ 其左边的字符被匹配至少一次(1次,或者多次). 例如 "be+" 匹配 "be" 或者 "bee" 但是不匹配 "b".
? 其左边的字符被匹配0次或者1次. 例如 "be?" 匹配 "b" 或者 "be" 但是不匹配 "bee".
^ 其右边的表达式被匹配在一行的开始. 例如 "^A" 仅仅匹配以 "A" 开头的行.
$ 其左边的表达式被匹配在一行的结尾. 例如 "e$" 仅仅匹配以 "e" 结尾的行.
() 影响表达式匹配的顺序,并且用作表达式的分组标记.
\ 转义字符. 如果你要使用 "\" 本身, 则应该使用 "\\".
2.正则表达式中\1表示第一个括号里面匹配内容。例子见下。
3.注意数字表示是[0-9]而不能使用\d, 如find命令-regex参数中的数字表示
from:http://blog.youkuaiyun.com/pipisorry/article/details/24143801
ref:http://linux.vbird.org/linux_basic/0330regularex.php#basic_regexp