9.1 正则介绍_grep上
9.2 grep中
9.3 grep下
什么是正则
grep命令
命令格式:grep [-cinvrABC] ‘word’ filename
常用选项如下:
扩展正则,指的是表达式中含有: +?|(){}等符号,在grep中直接使用不行,需要加\脱义,如下3个命令等同:
这个符号表示以什么什么开头。如:# 以#开头,或者【^#】取反,除#号开头的行
创建一个grep目录,拷贝过来一个文件/etc/passwd
过滤passwd文件里,nologin的字符
grep查看符号要求的行数 -c
grep -n显示这个文件包包含‘nologin’的行数
grep不区分大小写 -i
grep取反,除了nologin的显示出来 -v
遍历所有的子目录 -r
grep -r‘root’/etc/(etc目录下所有包含root的文件列出来)
-A2把包含root的行,以及这行下面的两行都打印出来
grep -nA2‘root’ passwd
-B2把包含root的行,以及这行上面的两行都打印出来
grep -nB2‘root’ passwd
-C2把包含root的行以及这上下两行都打印出来
grep -nC2‘root’ passwd
grep正则表达式具体用法示例
查看一个文件里0-9所有的数字,【】括号表示里面的任意一个字符
grep ‘[0-9]’ passwd
反选-v 把不包含数字的行列出来
grep -nv‘【0-9】’/etc/inittab
取反,过滤掉所有以#开头的行
grep -nv‘^#’ inittab
把不是以#开头的行,显示出来
过滤非0-9开头的数字的行显示出来
过滤出任意一个字符和重复字符,示例如下:
grep ‘r.o’ passwd
指定要过滤出的字符出现次数,示例如下:
过滤出一个或多个指定的字符,示例如下:
过滤出零个或一个指定的字符,示例如下:
过滤出字符串1或者字符串2,示例如下:|或者
总结: