Skip to the content.

主要用于查询

基础正则

由于编码表的不同(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…]

  1. -v 反向选择
  2. -n 行号
  3. -A 包括此行的之后all
  4. -B 包括此行的之前all
  5. -i 不区分大小写

sed

  1. -n 只输出经过sed处理的内容
  2. -e 直接在指令列模式上进行 sed 的动作编辑
  3. -f 将输出写入文件
  4. -r 使用延伸的正则
  5. -i 直接修改读取的文件内容,而不是由屏幕输出

动作说明

[n1[,n2]]function

function

  1. a +字符串 加入字符串到下一行
  2. c +字符串 取代n1-n2
  3. d 删除n1-n2?
  4. i +字符串 (加入字符串到下一行
  5. p 将选择的内容打印? 默认与-n一同使用
  6. s /old/new 取代

扩展正则

egrep —— grep的正则扩展版 (grep -E = egrep)

RE字符 意义
+ 重复『一个或一个以上』的前一个 RE 字符
? 『零个或一个』的前一个 RE 字符
| 用或( or )的方式找出数个字符串范例
() 找出『群组』字符串范例gal gbl g(a|b)l
()+ 多个重复群组的判别范例子

write by uhuame