正则 :grep 工具的正则表达式
2018-02-23 22:45
369 查看
正则:
.正则就是一串有规律的字符串
.正则对编写shell脚本有很大帮助
.各种编程语言中都有正则
正则工具:grep/egrep(egrep是grep的扩展)、sed、awk
[b]grep (过滤关键词)[/b]
[b]
[/b]
格式: grep [-cinvABC] 'word' filename
[b](1)-c 行数 [/b]
[b](2)-i 不区分大小写[/b]
[b](3)-n 显示行号[/b]
[b](4)-v 取反(过滤出不是关键字外的行)[/b]
[b](5)-r 遍历所有子目录[/b]
[b](6)-A 后面跟数字n,过滤出符合要求的行以及下面n行[/b]
[b](7)-B 后面跟数字n,过滤出符合要求的行以及上面n行[/b]
[b](8)-C 后面跟数字n,同时过滤出符合要求的行以及上下各n行[/b]
例子 grep正则表达式
[b]no1: grep '[0-9]' passwd [/b]
[b][]里的数字0-9表示0-9之间有一个数字,不理数字是有几个都过滤出,即过滤所有带数字的行[/b]
[b]
[/b]
[b][b]no2: grep -v '[0-9]' /etc/inittab[/b][/b]
[b][b](过滤出不带数字的行)[/b][/b]
[b][b]
[/b][/b]
no3: grep -nv '^#' inittab
(过滤出不以#开头的行,“^”开头符)
no4 :[b]grep '[^a-zA-Z]' inittab[/b]
grep '^[^a-zA-Z]' inittab ->过滤出不是以字母开头的行,即过滤出以数字开头的行
(当“^”放在了[]里后,它的意思就是“非”)
no5 :grep 'r.o' passwd
(这里的“.”代表任意一个字符)
no6 :grep -n 'o*o' passwd
(*:代表*前面字符零个或多个,o*:一个o或者多个o)
no7 : grep -n '.*' passwd
(表示过滤所有,“.*”表示所有)
no7 :grep -n 'o\{2\}' passwd
({}表示前面符号重复范围,’o\{2\}’表示o出现两次(或者2的次数幂)在要在转义符号“\”)
[b]grep -n 'o\{0,3\}' passwd[/b]
[b]不带[b]转义符号“\”的写法[/b][/b]
egrep -n 'o{2}' passwd
[b]grep -En 'o{2}' passwd[/b]
[b][b][b]grep -En '(oo){2}' passwd[/b][/b][/b]
[b][/b]
[b][/b]
no8 :[b][b]grep -n 'o\+b' passwd[/b][/b]
[b][b]("+"表示+前面字符一次或多次,而*是零次或多次)[/b][/b]
no9 :egrep -n 'o?t' passwd
[b] grep -En 'o?t' passwd[/b]
[b][b] grep -n 'o\?t' passwd[/b][/b]
(?表示问号前面字符零次或者一次)
no10 :grep -En 'root|nologin' passwd
(|表示或者)
在grep命令中有特殊符号的时候
(1)使用转义符号
(2)-E
(3)使用egrep
.正则就是一串有规律的字符串
.正则对编写shell脚本有很大帮助
.各种编程语言中都有正则
正则工具:grep/egrep(egrep是grep的扩展)、sed、awk
[b]grep (过滤关键词)[/b]
[b]
[/b]
格式: grep [-cinvABC] 'word' filename
[b](1)-c 行数 [/b]
[b](2)-i 不区分大小写[/b]
[b](3)-n 显示行号[/b]
[b](4)-v 取反(过滤出不是关键字外的行)[/b]
[b](5)-r 遍历所有子目录[/b]
[b](6)-A 后面跟数字n,过滤出符合要求的行以及下面n行[/b]
[b](7)-B 后面跟数字n,过滤出符合要求的行以及上面n行[/b]
[b](8)-C 后面跟数字n,同时过滤出符合要求的行以及上下各n行[/b]
例子 grep正则表达式
[b]no1: grep '[0-9]' passwd [/b]
[b][]里的数字0-9表示0-9之间有一个数字,不理数字是有几个都过滤出,即过滤所有带数字的行[/b]
[b]
[/b]
[b][b]no2: grep -v '[0-9]' /etc/inittab[/b][/b]
[b][b](过滤出不带数字的行)[/b][/b]
[b][b]
[/b][/b]
no3: grep -nv '^#' inittab
(过滤出不以#开头的行,“^”开头符)
no4 :[b]grep '[^a-zA-Z]' inittab[/b]
grep '^[^a-zA-Z]' inittab ->过滤出不是以字母开头的行,即过滤出以数字开头的行
(当“^”放在了[]里后,它的意思就是“非”)
no5 :grep 'r.o' passwd
(这里的“.”代表任意一个字符)
no6 :grep -n 'o*o' passwd
(*:代表*前面字符零个或多个,o*:一个o或者多个o)
no7 : grep -n '.*' passwd
(表示过滤所有,“.*”表示所有)
no7 :grep -n 'o\{2\}' passwd
({}表示前面符号重复范围,’o\{2\}’表示o出现两次(或者2的次数幂)在要在转义符号“\”)
[b]grep -n 'o\{0,3\}' passwd[/b]
[b]不带[b]转义符号“\”的写法[/b][/b]
egrep -n 'o{2}' passwd
[b]grep -En 'o{2}' passwd[/b]
[b][b][b]grep -En '(oo){2}' passwd[/b][/b][/b]
[b][/b]
[b][/b]
no8 :[b][b]grep -n 'o\+b' passwd[/b][/b]
[b][b]("+"表示+前面字符一次或多次,而*是零次或多次)[/b][/b]
no9 :egrep -n 'o?t' passwd
[b] grep -En 'o?t' passwd[/b]
[b][b] grep -n 'o\?t' passwd[/b][/b]
(?表示问号前面字符零次或者一次)
no10 :grep -En 'root|nologin' passwd
(|表示或者)
在grep命令中有特殊符号的时候
(1)使用转义符号
(2)-E
(3)使用egrep
相关文章推荐
- Linux 文本处理,文本工具,查看,分析,统计文本文件,grep,正则表达式
- 文本查找工具grep,正则表达式,扩展表达式
- 三个支持正则表达式的行处理的工具: grep/sed/awk
- Linux:正则表达式及:grep工具
- shell下正则表达式与其工具grep
- Linux下正则表达式的使用及grep工具
- grep(1) 正则表达式文本查找工具
- 66.正则表达式,grep/egrep工具的使用
- 基本正则表达式和文本处理工具之grep、egrep和fgrep
- linux(5)--补充(管道| / 重定向> / xargs)/find 与xargs结合使用/vi,grep,sed,awk(支持正则表达式的工具程序)
- 正则表达式及grep过滤工具的简单介绍
- Linux 文本处理工具、grep、正则表达式
- Linux日常——shell工具之grep(包含正则表达式)、sed
- 正则表达式和grep、sed工具
- Linux:正则表达式及:grep工具
- 关于 文本处理工具、正则表达式、grep 的简单举例
- 文件处理工具、grep、正则表达式:
- grep工具的使用与正则表达式
- 正则表达式及grep、sed、awk、cut、sort、uniq工具
- 【Linux相识相知】文本处理工具之grep\egrep\fgrep及正则表达式