linux grep命令实际应用详解

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。

grep常用用法

[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename

选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 ‘搜寻字符串’ 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行!
–color=auto :可以将找到的关键词部分加上颜色的显示喔!

将/etc/passwd,有出现 root 的行取出来,同时显示这些行在/etc/passwd的行号

# grep -n root /etc/passwd

将/etc/passwd,将没有出现 root 的行取出来

# grep -v root /etc/passwd

将网站日志 access-2017-04-10.log日志中出现baidu 不区分大小写的显示出来 并生成文件

grep -i baidu access-2017-04-10.log > baidu2017-04-10.log

将网站日志 access-2017-04-10.log日志中出现baidu 同时出现 404 不区分大小写查询出来 并生成文件

grep -i baidu access-2017-04-10.log |grep 404 > baidu2017-04-10.log

将网站日志 access-2017-04-10.log日志中出现baidu 同时出现 404 不区分大小写并且显示行号查询出来 并生成文件

grep -in baidu access-2017-04-10.log |grep 404 > baidu2017-04-10.log

未经允许不得转载:广州网络营销团队 » linux grep命令实际应用详解

赞 (0)