【Linux】Linux grep / egrep 命令(过滤)
原创
©著作权归作者所有:来自51CTO博客作者我是Superman丶的原创作品,请联系作者获取转载授权,否则将追究法律责任
Linux grep 命令用于查找文件里符合条件的字符串。
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。
语法
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
-E 表示过滤 多个参数
grep
-Ev
"sshd|network|crond|sysstat|
示例
排除这些关键词
tail -f -n111 catalina.out | grep -Ev '(关键词一|关键词二|关键词三)'
-n 打印行号
grep -n ".*" h.txt 所有打印行号
grep -n "root" h.txt 匹配的内容显示行号
-v 不包括
-E 表示过滤 多个参数
grep -Ev "sshd|network|crond|sysstat|"
-o:仅打印你需要的东西,默认打印正行
grep -o "hello" h.txt
-i:忽略大小写
grep -i "hello" h.txt
-c: 用于统计文中出现的次数
--color=auto 过滤字段添加颜色
利用正则打印特定字符
\b:作为边界符,边界只包含特定字符的行
grep "\boldboy\b" /etc/passwd -->只过滤包含oldboy的行
Linux egrep命令详解
egrep: == grep -E 用于显示文件中符合条件的字符
env|egrep "USER|MAIL|PWD|LOGNAME"
用的表达式不一样 ,egerp更加规范
egrep -o "oldboy|hello" h.txt -->仅仅输出 oldboy 和 hello