linux正则表达式之[]

1.[]含义

linux正则表达式[]表示字符集合的重复特殊字符的符号。

2.样例

正则表达式[]样例

命令1:

grep -n "p[wldn]" anaconda-ks.cfg

#需要特别注意的是,在[ ]中"仅代表一个待搜索的字符"。命令1的意思是搜索含有(pw)或(pl)或(pd)或(pn)的那一行。

复制代码
[root@elasticsearch ~]# grep -n "p[wldn]" anaconda-ks.cfg 
21:rootpw --iscrypted $6$0BXdoSziKSSM7K0m$glJg9VJzFFhgPdS0vqHokEi5yebUbRI2batiUWQFF.AOVPxGeWMRZ4sMdaQToqBSuaSGzOjMFjj0v13FdBysW1
48:pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
49:pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
50:pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
51:pwpolicy luks --m nlen=6 --m nquality=1 --notstrict --nochanges --notempty
52:pwpolicy luks --mnlen=6 --mnquality=1 --notstrict --nochanges --notempty
53:plpolicy luks --mnlen=6 --m nquality=1 --notstrict --nochanges --notempty
54:pdpolicy luks --mnlen=6 --m nquality=1 --notstrict --nochanges --notempty
55:pnpolicy luks --mnlen=6 --m nquality=1 --notstrict --nochanges --notempty
[root@elasticsearch ~]# 

命令2:

grep -n "[0-9]" anaconda-ks.cfg

#搜索含义任意数字的行。需要特别注意的是,在字符集合[ ]中的减号(-)是有特殊含义的,它代表两个字符之间的所有连续字符。但是连续与否,其是与ASCII编码有关,因此,编码需要设置正确(E.g:在bash中,需要确定LANG和LANGUAGE的变量是否正确)

复制代码
[root@elasticsearch ~]# grep -n "[0-9]" anaconda-ks.cfg 
3:auth --enableshadow --passalgo=sha512
14:lang en_US.UTF-8
17:network  --bootproto=static --device=ens32 --gateway=172.20.10.1 --ip=172.20.10.11 --nameserver=172.20.10.1 --netmask=255.255.255.240 --ipv6=auto --activate
18:network  --hostname=centos79-3
21:rootpw --iscrypted $6$0BXdoSziKSSM7K0m$glJg9VJzFFhgPdS0vqHokEi5yebUbRI2batiUWQFF.AOVPxGeWMRZ4sMdaQToqBSuaSGzOjMFjj0v13FdBysW1
48:pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
49:pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
50:pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
51:pwpolicy luks --m nlen=6 --m nquality=1 --notstrict --nochanges --notempty
52:pwpolicy luks --mnlen=6 --mnquality=1 --notstrict --nochanges --notempty
53:plpolicy luks --mnlen=6 --m nquality=1 --notstrict --nochanges --notempty
54:pdpolicy luks --mnlen=6 --m nquality=1 --notstrict --nochanges --notempty
55:pnpolicy luks --mnlen=6 --m nquality=1 --notstrict --nochanges --notempty
[root@elasticsearch ~]# 

命令3:

grep -n "oo[^t]" anaconda-ks.cfg

#搜索的字符串可以是(ooot)、(oooot),但是不能是(oot),^在[ ]内时,代表的含义是"反向选择"。

复制代码
[root@elasticsearch ~]# grep -n "oo[^t]" anaconda-ks.cfg 
29:boootloader --location=mbr --boot-drive=sda
30:booootloader --location=mbr --boot-drive=sda
[root@elasticsearch ~]# 
相关推荐
塔能物联运维几秒前
物联网运维中基于数字孪生的实时设备状态同步与仿真验证技术
运维·物联网
初听于你6 分钟前
LoRa与ZigBee:物联网双雄对决
服务器·网络·windows·网络协议·计算机网络
JavaLearnerZGQ23 分钟前
单机部署docker-nacos(通过下载nacos源码的方式)
运维·docker·容器
哦你看看1 小时前
Redis Sentinel哨兵集群
linux·redis·bootstrap·sentinel
忧郁的橙子.1 小时前
二十、kubernetes 1.29 之 运维
运维·容器·kubernetes
pccai-vip2 小时前
架构论文《论负载均衡的设计与应用》
运维·架构·负载均衡
爱尔兰的楠小楠2 小时前
Windows上使用WSL2创建Ubuntu系统,实现无缝高效开发的体验
linux·windows·ubuntu
Fluency-112 小时前
ubuntu中ssh连接root用户
linux·ubuntu·ssh
0wioiw02 小时前
Ubuntu(③vsftpd)
linux·服务器·ubuntu
Dotrust东信创智3 小时前
从“手动试错”到“自动化闭环”:实车OTA测试的效率革命
运维·自动化