主要用于查询
基础正则
由于编码表的不同(zh_CN.big5 en_US.UTF-8) A-Z 0-9 可能包含其他字母 为了避免,这是特殊符号
特殊符号 | 代表意义 |
---|---|
[: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:] | 标点符号 |
[:upper:] | A-Z |
[:space:] | 所有空白字符 |
[:xdigit:] | 16进位数字类型0-9 A-F a-f |
RE字符 | 意义 |
---|---|
[ab] | ab任意一个 |
[^n | 表示不选择n |
^ | 表示行首 |
$ | 表示行尾 |
. | 绝对有一个任意字符 |
* | 重复前一个字符0-无限 |
n{x,y} | 表示重复x-y个n |
grep
注意:在使用时应用引号将模式(PATTERN) 括起来, 这样可以防止shell将字符展开
grep [options] PATTERN [FILE…]
- -v 反向选择
- -n 行号
- -A 包括此行的之后all
- -B 包括此行的之前all
- -i 不区分大小写
sed
- -n 只输出经过sed处理的内容
- -e 直接在指令列模式上进行 sed 的动作编辑
- -f 将输出写入文件
- -r 使用延伸的正则
- -i 直接修改读取的文件内容,而不是由屏幕输出
动作说明
[n1[,n2]]function
function
- a +字符串 加入字符串到下一行
- c +字符串 取代n1-n2
- d 删除n1-n2?
- i +字符串 (加入字符串到下一行
- p 将选择的内容打印? 默认与-n一同使用
- s /old/new 取代
扩展正则
egrep —— grep的正则扩展版 (grep -E = egrep)
RE字符 | 意义 |
---|---|
+ | 重复『一个或一个以上』的前一个 RE 字符 |
? | 『零个或一个』的前一个 RE 字符 |
| | 用或( or )的方式找出数个字符串范例 |
() | 找出『群组』字符串范例gal gbl g(a|b)l |
()+ | 多个重复群组的判别范例子 |
write by uhuame