• 查找文件/etc/passwd 中包含字符串root 的所有行。并将所有这些行的内容 放到文件/root/list 中,/root/list不得包含空行。
[root@servera ~]# grep root /etc/passwd | grep -v “^$” > /root/list
命令解析:
grep:过滤指定的内容
|:管道符,用于连接后续的动作
-v:表示取反,也就是不匹配符合的内容
^$:表示开头并且是为空的行
>:重定向,覆盖,将匹配的内容写入到指定的文件中,文件不存在,则自动回创建的
或者
- [root@servera ~]# cat /etc/passwd | grep root | grep -v "^$" > /root/list
- 查看写入的情况是否满足要求的
- [root@ervera ~]# cat list
- root:x:0:0:root:/root:/bin/bash
- operator:x:11:0:operator:/root:/sbin/nologin
知识扩展
grep文本搜索工具
作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行
模式:由正则表达式字符及文本字符所编写的过滤条件
grep [OPTIONS] <查找匹配的内容> [FILE...]
grep常用选项Options
-color=auto 对匹配到的文本着色显示
-m # 匹配#次后停止
-v 显示不被pattern匹配到的行,即取反
-i 忽略字符大小写
-n 显示匹配的行号
-c 统计匹配的行数
-o 仅显示匹配到的字符串
-q 静默模式,不输出任何信息
-A # after, 后#行
-B # before, 前#行
-C # context, 前后各#行
-e 实现多个选项间的逻辑or关系,如:grep –e ‘cat ' -e ‘dog' file
-w 匹配整个单词
-E 使用ERE,相当于egrep
-F 不支持正则表达式,相当于fgrep
-f file 根据模式文件处理
-r 递归目录,但不处理软链接
-R 递归目录,但处理软链接