过滤文件内容 — grep
grep [option] “pattern” 文件名称
pattern模式:
由普通字符和正则表达式的元字符组成的条件
[root@tan /]# grep “root” /etc/passwd
grep option选项:
1) -i 忽略大小写
[root@tan /]# grep -i “^r” /tmp/1.txt
r8t
r79t
R?t
R34?t
2) -o 仅显示符合正则表达式的内容; 不在显示整行
[root@tan /]# grep “r…t” /etc/passwd
root❌0:0:root:/root:/bin/bash
operator❌11:0:operator:/root:/sbin/nologin
ftp❌14:50:FTP User:/var/ftp:/sbin/nologin
[root@tan /]# grep -o “r…t” /etc/passwd
root
root
root
root
r/ft
3) -v 反向过滤
[root@tan /]# grep -v “^#” /etc/fstab (就不显示已#开头的行)
4) -e 根据多个条件过滤文本
[root@tan /]# grep -e “^$” -e “^#” /etc/fstab
[root@tan /]# grep -v -e “^$” -e “^#” /etc/fstab (反向过滤)
5) -E 支持扩展正则表达式 加上这个就不需要加上转义\符了,以下是一样的结果;
[root@tan /]# grep “(ab){2,}” /usr/share/dict/words
[root@tan /]# grep -E “(ab){2,}” /usr/share/dict/words
[root@tan /]# grep -E “vmx|svm” /proc/cpuinfo (查看CPUVMX)
6) -A n 同时显示符合条件后n行
[root@tan /]# ifconfig | grep -A 2 “netmask”
7) -B n 同时显示符合条件前n行
[root@tan /]# ifconfig | grep -B 2 “netmask”