正则表达式就是用于匹配每行输入的一种模式,模式是指一串字符序列。拥有强大的字符搜索功能。也非常方便的搜索过滤出我们想要的内容。
Linux系统:CentOS Linux release 8.1.1911 (Core)
1、找出 ifconfig “网卡名” 命令结果中本机的 IPv4 地址
ifconfig | head -n 2 |tail -1 |tr -s " " |cut -d" " -f3
2、查出分区空间使用率的最大百分比值
df |tr -s " " |cut -d" " -f5
3、查出用户 UID 最大值的用户名、UID 及 shell 类型
cat /etc/passwd | cut -d: -f1,3,7| sort -nt: -k2 |tail -n 1
4、查出 /tmp 的权限
stat /tmp | head -n 4 |tail -n 1|cut -c10-13
5、显示 CentOS8 上所有系统用户的用户名和 UID
cat /etc/passwd |cut -d: -f1,3 | egrep -v "[0-9]{4,}"
6、显示三个用户 root、linuxmi、mi 的 UID 和默认 shell(A8代替)
cat /etc/passwd |egrep "^(root|A8)" |cut -d: -f1,3
7、使用 egrep 取出 /etc/rc.d/init.d/functions 中显示文件中符合条件的字符
echo /etc/rc.d/init.d/functions | egrep "[a-z]$"
8、使用egrep取出上面路径的目录名
echo /etc/rc.d/init.d/functions | egrep "/.*/"
9、统计 last 命令中以 root 登录的每个主机IP地址登录次数
10、利用扩展正则表达式分别表示0-9、10-99、100-199、200-249、250-255
echo {1..255} | egrep "\<[0-9]\>"
egrep "\<1[0-9]\>"
egrep "\<1[0-9][0-9]\>"
egrep "\<2[0-4][0-9]\>"
egrep "\<25[0-5]\>"
11、显示 ifconfig 命令结果中所有 IPv4 地址
ifconfig |egrep "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"
简单点来说,正则表达式是对一组正在处理的文本的描述。