05linux三剑客之grep
快捷手册grep
基本格式
grep 命令的基本格式如下:grep [选项] 模式 文件名
这里的模式,要么是字符(串),要么是正则表达式。
常用参数组合:
grep 命令常用选项及含义
注意,如果是搜索多个文件,grep 命令的搜索结果只显示文件中发现匹配模式的文件名;而如果搜索单个文件,grep 命令的结果将显示每一个包含匹配模式的行。
案例
【例 1】假设有一份 emp.data 员工清单,现在要搜索此文件,找出职位为 CLERK 的所有员工,则执行命令如下:
[root@localhost ~]# grep CLERK emp.data
而在此基础上,如果只想知道职位为 CLERK 的员工的人数,可以使用“-c”选项,执行命令如下:
[root@localhost ~]# grep -c CLERK emp.data
【例 2】搜索 emp.data 文件,使用正则表达式找出以 78 开头的数据行,执行命令如下:
[root@localhost ~]# grep ^78 emp.data
从根目录开始查找所有扩展名为 .log 的文本文件,并找出包含 "ERROR" 的行:
例子:从当前目录开始查找所有扩展名为 .in 的文本文件,并找出包含 "thermcontact" 的行:
一般情况下使用下面的命令(-n 显示行号,-w 表示匹配全词):
$ grep -rnw 'path' -e 'pattern'
在递归的过程中只输出匹配内容所在的文件名称
如果我们只想查看匹配到的内容所在文件的名称,可以同时使用 r 和 -l, --files-with-matches 选项:
$ grep -rl email /home/nick/projects/bash/.git
在输出中显示行号
使用选 -n 可以在输出中显示行号:
统计匹配到的行的数量
使用选项 -c 可以统计匹配到的行的数量:
参考
Linux grep命令详解:查找文件内容:c.biancheng.net/view/4017.html
Linux grep 命令:https://www.runoob.com/linux/linux-comm-grep.html
Linux中grep命令详解:https://blog.csdn.net/qq_40797605/article/details/89075918
Linux grep 命令:https://www.cnblogs.com/sparkdev/p/11294517.html
Last updated