正则介绍 grep
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则介绍 grep相关的知识,希望对你有一定的参考价值。
正则介绍_grep
grep(上)
grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。
·
grep过滤指定关键词,最简单的用法:grep ‘关键词’ 文件名(关键词用单引号引起来)
·
-c行数
·
-n显示行号
·
-i不区分大小写
·
-v取反(过滤出不带关键词的行)
·
-r遍历所有子目录(如下图就是列出etc目录下所有含有yang字符的内容)
·
-A后面跟数字,过滤出符合要求的行以及下面n行(我们加个n看一下行号就容易了明白了)
·
-B后面跟数字,过滤出符合要求的行以及上面n行(我们加个n看一下行号就容易了明白了)
·
-C后面跟数字,过滤出符合要求的行以及上下面n行
·
·
·
grep(中)
过滤出passwd文件里带有数字的行。
·
grep -v 过滤出passwd文件里不带有数字的行(因为passwd里没有不带数字的行 所以直接不显示)
·
grep -nv ‘^#‘ 过滤出inittab文件里开头不带有#号的行。(加n是为了显示行号)
·
grep ‘[^0-9]‘ 过滤出passwd文件里非纯数字的字符。(^放到方括号里面就是“取反”或者“非”的意思,0-9可修改为a-z A-Z 任意字符)
·
·
grep(下)
过滤出passwd文件里含有r.o的所有行。(点代表任意一个字符)
·
过滤出passwd文件里含有o或oo或ooo等所有行,( 号表示左边的字符重复n次,如果是重复0次,那么就是一个o,因为还要加上右边的一个o)
·
过滤出passwd文件里含有任意一个字符重复任意次的行,(结果其实就是列出所有,“. ” 代表所有的字符)
·
过滤出passwd文件里以yang开头,并且以bash结尾的行。
·
过滤出passwd文件里出现重复的两个o(就是oo)的行。{}表示前面字符的重复范围。
·
·
过滤出passwd文件里出现重复的两个oo(就是oooo)的行。小括号表示里面的是一个整体。
·
加号意思和号差不多,不过号是0-n次,而加号表示1-n次。
·
加号后面也可以跟其他字符:
·
·
问号表示前面的字符重复0次或者1次。
`
竖线表示或者的意思。
以上是关于正则介绍 grep的主要内容,如果未能解决你的问题,请参考以下文章
9.1 正则介绍_grep(上);9.2 grep(中);9.3 grep(下)