目录
Linux之文本搜索工具--grep
作用
格式
参数
注意
示例
操作对象文件:/etc/passwd
grep过滤命令示例
Linux之文本搜索工具--grep
作用
grep是linux中一种强大的文件搜索过滤工具,可以按照正则表达式检索文件内容,并把匹配的结果显示到屏幕上(匹配的内容会标红)
格式
grep -参数 条件 文件名
参数
参数 | 作用 |
-i | 忽略大小写 |
-c | 统计匹配的行数 |
-v | 取反,不显示匹配的行 |
-w | 匹配单词 |
-E | 等价于egrep,即启用扩展正则表达式 |
-n | 显示行号 |
-rl | 将指定目录内的文件打印 |
-A数字 | 匹配行及以下n行 |
-B数字 | 匹配行及以上n行 |
-C数字 | 匹配行及上下n行 |
-q | 静默模式,没有任何内容输出,使用$?来判断是否执行成功 |
-o | 只显示匹配的内容 |
注意
工作方式 --- grep可以在一个或多个文件中检索,如果条件中包含了空格,需要使用双引号引起
工作结果 --- 如果搜索成功则返回0状态码,否则为1状态码
示例
操作对象文件:/etc/passwd
作用 --- 记录账户的信息,共分为7段,使用冒号分割
意义 --- 账户名:密码代号x:UID:GID:注释:家目录:登陆的Shell
注意:
最后一段的/sbin/nologin 表述不允许登录
grep过滤命令示例
[root@localhost ~]# grep -n "root" /etc/passwd
[root@localhost ~]# grep -n "sshd" /etc/passwd
[root@localhost ~]# grep -n "/sbin/nologin" /etc/passwd
[root@localhost ~]# grep -c "/bin/bash" /etc/passwd
[root@localhost ~]# grep "/bin/bash" /etc/passwd | wc -l
[root@localhost ~]# grep -nv "/sbin/nologin" /etc/passwd
[root@localhost ~]# grep -ni "d" /etc/passwd
[root@localhost ~]# grep -nA2 "ftp" /etc/passwd
[root@localhost ~]# grep -nB3 "ftp" /etc/passwd
[root@localhost ~]# grep -nC3 "ftp" /etc/passwd