grep\egrep工具的使用

一、grep工具

命令格式:grep -cinvrABC 'word' filename
-c 打印符合要求的行数 grep -c 'nologin' /etc/passwd

-i 忽略大小写 grep -i 'nologin' passwd

-v 打印不符合要求的行 grep -v 'nologin' passwd
例:过滤所有不包含数字的行 grep -v '[0-9]' /etc/inittab
删除所有以‘#’ 开头的行 grep -v '^#' /etc/inittab
删除所有空行和以“#”开头的行 grep -v "^#" /etc/crontab |grep -v '^$'
(^表示开始,$表示结尾)
-n 输出符合要求的行及行号 grep -ni 'nologin' passwd

-r 过滤出并显示所有指符号的行 grep -r 'root' /etc/

-A 后面跟一个数字,打印出符合要求的行及下面两行 grep -A4 'nologin' passwd

-B 后面跟一个数字,打印出符合要求的行及上面两行 grep -B2 'nologin' passwd

-C 后面跟一个数字,打印出符合要求的行及上下两行 grep -C4 'nologin' passwd

过滤任意字符和重复字符 grep 'r..t' passwd (. 点表示任意一个字符,a..q表示把r与t之间的任意两个字符过滤出来)

指定要过滤字符的出现字数 grep 'o{2}' passwd
注:{}内部的数字表示前面字符要重复的次数。{} 左右都需要加上脱意字符\ ,{} 还可以表示一个范围,格式为{n1,n2}
其中n1 < n2 ,表示重复n1 到 n2 次前面的字符。

二、egrep 工具

筛选一个或多个前面的字符

例: egrep 'o+' psswd

筛选0个或一个前面的字符
例: eprep 'o?' passwd 和 eprep 'oooo?' passwd

筛选字符串0
例:egrep 'aaa|000|ooo' passwd

egrep中()的应用,用() 表示一个整体,如:(oo)+表示一个oo 或多个oo
egrep '(oo)+' passwd

猜你喜欢

转载自blog.51cto.com/10690709/2107955