grep命令
强大的文件搜索工具
语法格式:grep 参数 文件名
常用参数
-b | 显示匹配行距文件头部的偏移量 | -o | 显示匹配词距文件头部的偏移量 |
---|---|---|---|
-c | 只显示匹配的行数 | -q | 静默执行模式 |
-E | 支持扩展正则表达式 | -r | 递归搜索模式 |
-F | 匹配固定字符串的内容 | -s | 不显示没有匹配文件的错误信息 |
-h | 搜索多文件时不显示文件名 | -v | 显示不包含匹配文本的所有行 |
-i | 忽略关键词大小写 | -w | 精准匹配整词 |
-l | 只显示符号匹配条件的文件名 | -x | 精准匹配整行 |
-n | 显示所有匹配行及其行号 |
参考示例
搜索指定文件中包含某个关键词的内容行
[root@liuwei ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
搜索指定文件中以某个关键词开头的内容行
[root@liuwei ~]# grep ^root /etc/passwd
root:x:0:0:root:/root:/bin/bash
搜索多个文件中包含某个关键词的内容行
[root@liuwei ~]# grep liuwei /etc/passwd /etc/shadow
/etc/passwd:liuwei:x:1000:1000::/home/liuwei:/bin/bash
/etc/shadow:liuwei:!!:19710:0:99999:7:::
搜索多个文件中包含某个关键词的内容,不显示文件名称
[root@liuwei ~]# grep -h liuwei /etc/passwd /etc/shadow
liuwei:x:1000:1000::/home/liuwei:/bin/bash
liuwei:!!:19710:0:99999:7:::
显示指定文件中包含某个关键词的行数量
[root@liuwei ~]# grep -c root /etc/passwd /etc/shadow
/etc/passwd:2
/etc/shadow:1
搜索指定文件中包含某个关键词位置的行号及内容行
[root@liuwei ~]# grep -n root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin
搜索指定文件中不包含某个关键词的内容行
[root@liuwei ~]# grep -v nologin /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
liuwei:x:1000:1000::/home/liuwei:/bin/bash
搜索当前工作目录中包含某个关键词内容的文件,未找到则提示
[root@liuwei ~]# grep -l root *
grep: test0: Is a directory
grep: test00: Is a directory
grep: test1: Is a directory
grep: test2: Is a directory
搜索当前工作目录中包含某个关键词内容的文件,未找到不提示
[root@liuwei ~]# grep -sl root *
-------------------------------------------
个性签名:代码过万,键盘敲烂!!!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!