【Linux系列教程】过滤的使用
一、基本使用
[root@localhost ~]# grep "root" /etc/passwd 
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost ~]# ifconfig ens33 | grep "netmask"
        inet 192.168.140.161  netmask 255.255.255.0  broadcast 192.168.140.255
1. -o 仅显示符合条件的内容
[root@localhost ~]# grep -o "r..t" /etc/passwd
root
root
root
root
r/ft
2. -i 忽略大小写
[root@localhost ~]# grep -i "aa" /opt/file01
aa
AA
Aa
aA
3. -v 反向过滤
[root@localhost ~]# grep -v "^#" /etc/fstab	#开头不包含“#”的
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=714c9df7-be4f-4480-a15a-bca5716ecb29 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
4. -e 多条件过滤
[root@localhost ~]# grep -e "^#" -e "^UUID" /etc/fstab	#过滤包含“#”和开头是UUID的
#
# /etc/fstab
# Created by anaconda on Fri Feb 17 14:13:18 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=714c9df7-be4f-4480-a15a-bca5716ecb29 /boot                   xfs     defaults        0 0
5. -n 显示行号
[root@localhost ~]# grep -n "[0-9]\{1,3\}" /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
2:bin:x:1:1:bin:/bin:/sbin/nologin
3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
4:adm:x:3:4:adm:/var/adm:/sbin/nologin
5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6:sync:x:5:0:sync:/sbin:/bin/sync
7:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8:halt:x:7:0:halt:/sbin:/sbin/halt
9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
6. -E 支持正则表达式
[root@localhost ~]# grep -E "(ab){2,}" /usr/share/dict/words
attababy
Habab
kabab
Kababish
kababs
Nodababus
二、正则表达式
1.匹配单个字符的元字符
. 	#任意单个字符
[rkb]	#或者r 或者k 或者b
-	#连续的字符
[a-z]	#任意单个小写字母
[A-Z]	#任意单个大写字母
[A-Za-z]	#任意单个字母
[0-9]	#任意单个数字
[a-zA-Z0-9]	#任意单个字母和数字
^ 取反
[^a-z]	#不包括任意单个小写字母
^[^a-z]	#开头不包括任意单个小写字母
2.匹配字符出现的次数
* 	#前一个字符连接出现任意次,可以是0次
\+	#前一个字符至少出现1次,最多出现无限次
\?	#前一个字符最多出现1次,最少出现0次
\{3\}	#前一个字符精确出现3次
\{3,5\}	#前一个字符至少出现3次,至多出现5次
\{3,\}	#前一个字符至少出现3次,至多出现无限次
3.使用正则表达式查看机器IP
ifconfig | grep -E -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
 
            
    
评论