正则grep

grep

gerp命令:用来过滤关键字的。用单引号括起来关键词,后面跟文件名

 

-c 选项表示打印符合要求的行数。

-n 选项表示输出符合要求的行以及行号。

 

-i选项表示不区分大小写

 

-v 选项表示取反的意思,打印不符合要求的行

 

-r 表示遍历所有的子目录

 

-A选项后面跟数字,过滤出符合要求的行以及下面的n行

-B选项后面跟数字,过滤出符合要求的行以及上面n行

 

-C选项后面跟数字,同时过滤出符合要求的行以及上下各n行。

grep '[0-9]' /etc/inittab 过滤出所有包含任意数字的行

grep -v '[0-9]' /etc/inittab 加上-v选项打印出不包含数字的行

grep '^#' 2.txt过 过滤出所有以#开头的行

grep -nv '^#' 2.txt 去掉所有以#开头的行

grep '[^0-9]' 2.txt 过滤出非0-9的内容 ^表示非

grep -n '^[^0-9]' 2.txt 过滤出非0-9开头的行

^单独跟字符或者放在方括号外面,表示以这个字符开头。当放在方括号里面表示“非”的意思。

grep 'r.o' 1.txt . 点表示在r与o之间的任意一个字符

grep 'o*o' 1.txt * 星号表示0个或者多个前面的字符

 

grep '.*' 1.txt 任意个任意字符 贪婪匹配

grep 'o\{\2}' 1.txt 指定要过滤出的字符 出现几次 花括号需要用 \ 转意

egrep 'o{2}' 1.txt

grep -E 'o{2}' 1.txt egrep和grep -E 是一样的意思 不需要 \ 转意

grep 'o\+t' 1.txt + 表示匹配1个或多个加号前面的字符

egrep 'o+t' 1.txt 使用egrep不用使用转义字符\。

grep 'o\?t' 1.txt ?表示出现0次或1次前面的字符。

egrep 'o?t' 1.txt 使用egrep不用使用转义字符\。

egrep 'root|nologin' 1.txt |表示或者 只要包含字符串中的一个,都会被过滤出来

只能用egrep

egrep '(oo){2}' 1.txt (){} 表示一个范围00出现2次

猜你喜欢

转载自blog.csdn.net/aaahai/article/details/81810765
今日推荐