linux 中的正则有特殊符号,其他的内容和 javascript 中都相同。注意语系会对正则产生影响,一般使用与 POSIX 相容的语系。
特殊符号 | 意义
—|—
[:alnum:] | 代表英文大小写字符及数字,亦即 0-9, A-Z, a-z
[:alpha:] | 代表任何英文大小写字符,亦即 A-Z, a-z
[:blank:] | 代表空白键与 [Tab] 按键两者
[:cntrl:] | 代表键盘上面的控制按键,亦即包括 CR, LF, Tab, Del.. 等等
[:digit:] | 代表数字而已,亦即 0-9
[:graph:] | 除了空白字符 (空白键与 [Tab] 按键) 外的其他所有按键
[:lower:] | 代表小写字符,亦即 a-z
[:print:] | 代表任何可以被打印出来的字符
[:punct:] | 代表标点符号 (punctuation symbol),亦即:” ‘ ? ! ; : # \$…
[:upper:] | 代表大写字符,亦即 A-Z
[:space:] | 任何会产生空白的字符,包括空白键, [Tab], CR 等等
[:xdigit:] | 代表 16 进位的数字类型,因此包括: 0-9, A-F, a-f 的数字与字符
带正则功能的命令
并不是所有命令都能使用正则,只有支持正则的命令和程序才可以使用。
1.grep 的一些进阶选项
- 用法
1 | grep [-A] [-B] [--color=auto] '搜寻字串' filename |
- 例子
鸟哥提供了一个练习用的文件:regular_express.txt
内容如下
1 | "Open Source" is a good mechanism to develop programs. |
1 | #查找‘the’并带上行号 |
2.sed 工具
sed 是一个管线命令,可以将数据进行取代、删除、新增、攫取。
- 用法
1 | sed [-nefr] [动作] |
- 例
1 | #删除2-5行的内容 |
sed 不仅可以进行行的处理,还可以进行部分数据的搜索并取代的功能。
1 | #使用方法 |