听老师和学姐都说,正则表达式很重要,所以这次我总结一下,同时加强一下记忆。
目前我们学的正则表达式有:字符匹配;匹配字数;位置锚定。
:. 匹配任意单个字符
[] 匹配指定范围内的任意单个字符
[^] 匹配指定范围外的任意单个字符
[:alnum:] 或 [0-9a-zA-Z]
[:alpha:] 或 [a-zA-Z]
[:upper:] 或 [A-Z]
[:lower:] 或 [a-z]
[:blank:] 空白字符(空格和制表符)
[:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广)
[:cntrl:] 不可打印的控制字符(退格、删除、警铃…)
[:digit:] 十进制数字 或[0-9]
[:xdigit:]十六进制数字
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 标点符号
. 匹配任意单个字符
[] 匹配指定范围内的任意单个字符
[^] 匹配指定范围外的任意单个字符
[:alnum:] 或 [0-9a-zA-Z]
[:alpha:] 或 [a-zA-Z]
[:digit:] 十进制
[:upper:] 或 [A-Z]
[:lower:] 或 [a-z]
匹配次数:
*匹配前面的字符任意次,包括0次
.*任意长度的任意字符
\?匹配其前面的字符0或1次
\+匹配其前面的字符至少1次
\{n\}匹配前面的字符n次
\{m,n\}匹配其前面的字符至少m次最多n次
位置锚定:
^行首锚定,用于模式的最左侧
$行尾锚定,用于模式最右侧
给给定字符着色
alias grep=’grep –color=auto’ 给所选中的项着色
grep -v root /etc/passwd :反选,除了root都显示
grep -i root /etc/passwd :不区分大小写
grep -o root /etc/passwd :只显示root
grep -c root /etc/passwd :只显示匹配到结果的行数
grep -A 3 root /etc/passwd :显示root后3行
grep -B 3 root /etc/passwd :显示root前3行
grep -C 3 root /etc/passwd :显示root前后3行
grep -e root /etc/passwd :同时搜索多个关键字
例子:
grep -e root -e meng1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
meng1:x:509:512::/home/meng1:/bin/bash
rooter:x:511:514::/home/rooter:/bin/bash
grep -E root /etc/passwd :使用扩展正则表达式,或egrep
grep -W root /etc/passwd:仅显示匹配关键字所在行
grep -F root /etc/passwd :不使用扩展正则表达式
patch -b 文件1 存放目录: 使文件1 的内容更新为存放到目录后新生成的文件
^ []外:以….开头
内:非
原创文章,作者:menger,如若转载,请注明出处:http://www.178linux.com/83458