grep 过滤
# 三剑客老三------------grep过滤文件内容
#这里的过滤是找到的意思,过滤掉是丢掉的意思,别弄错了
# 在/etc/passwd中过滤出包含root的行
[root@ZTT ~]# grep "root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
# 在/etc/passwd中过滤以root开头的行
[root@ZTT ~]# grep "^root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
# 在/etc/passwd中过滤以bash结尾的行 符号(正则表达式) $ bash$ 以bash结尾的行(了解)
[root@ZTT ~]# grep "bash$" /etc/passwd
root:x:0:0:root:/root:/bin/bash
# 过滤掉包含root的行,其他都显示
[root@ZTT ~]# grep -v "root" /etc/passwd
# 忽略大小写
[root@ZTT ~]# grep -i "root" /etc/passwd
# 过滤以bash结尾的行,过滤与root相关的行,两个条件,并且忽略大小写
[root@ZTT ~]# grep -Ei "bash$|root" /etc/passwd
# 在/etc/passwd中过滤出包含lp的行并显示行号
[root@ZTT ~]# grep -n "lp" /etc/passwd
5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#取第一列第2列和第6列 ,顺序可以变,显示的结果也不同
[root@ZTT ~]# grep -n "lp" /etc/passwd | awk -F ':' '{ print $1,$2,$6}'
5 lp lp
[root@ZTT ~]# grep -n "lp" /etc/passwd | awk -F ':' '{ print $2,$1,$6}'
lp 5 lp