首页 > 服务器 > Linux > Linux 中几个正则表达式的用法
2020
09-30

Linux 中几个正则表达式的用法

attachments-2020-09-U9iT0FQy5f72f848770d0.png


正则表达式就是用于匹配每行输入的一种模式,模式是指一串字符序列。拥有强大的字符搜索功能。也非常方便的搜索过滤出我们想要的内容。


Linux系统:CentOS Linux release 8.1.1911 (Core)


1、找出 ifconfig “网卡名” 命令结果中本机的 IPv4 地址

ifconfig | head -n 2 |tail -1 |tr -s " " |cut -d" " -f3 

attachments-2020-09-6dlZDlok5f72eb520e25a.jpg


2、查出分区空间使用率的最大百分比值

df |tr -s " " |cut -d" " -f5

attachments-2020-09-hylXayUe5f72eb6517457.jpg


3、查出用户 UID 最大值的用户名、UID 及 shell 类型

cat /etc/passwd | cut -d: -f1,3,7sort -nt: -k2 |tail -n 1

attachments-2020-09-BaxsqT3Z5f72eb74ee2cf.png


4、查出 /tmp 的权限

stat /tmp | head -n 4 |tail -n 1|cut -c10-13

attachments-2020-09-perZPdRz5f72eb83ea13b.png


5、显示 CentOS8 上所有系统用户的用户名和 UID

cat /etc/passwd |cut -d: -f1,3 | egrep -v "[0-9]{4,}"

attachments-2020-09-cZkUW94Z5f72eb947e1f4.jpg


6、显示三个用户 root、linuxmi、mi 的 UID 和默认 shell(A8代替)

cat /etc/passwd |egrep "^(root|A8)" |cut -d: -f1,3 

attachments-2020-09-LABKlv5c5f72eba35b934.jpg


7、使用 egrep 取出 /etc/rc.d/init.d/functions 中显示文件中符合条件的字符

echo /etc/rc.d/init.d/functions | egrep "[a-z]$"

attachments-2020-09-H1rCi5wo5f72ebb538cbf.jpg


8、使用egrep取出上面路径的目录名

echo /etc/rc.d/init.d/functions | egrep "/.*/" 

attachments-2020-09-q5kC1hXN5f72ebc208856.jpg

9、统计 last 命令中以 root 登录的每个主机IP地址登录次数

attachments-2020-09-CIHDjvgq5f72ebd04c3e4.jpg


10、利用扩展正则表达式分别表示0-9、10-99、100-199、200-249、250-255

echo {1..255} |egrep "\<[0-9]\>"

attachments-2020-09-XNIx2V7P5f72ebdc4db7b.jpg

egrep "\<1[0-9]\>" 

attachments-2020-09-BUj0WRoX5f72ebef0dfd3.jpg

egrep "\<1[0-9][0-9]\>" 

attachments-2020-09-13LdnQeN5f72ebfb6705b.jpg

egrep "\<2[0-4][0-9]\>" 

attachments-2020-09-lbFuQN5e5f72ec06d7d2b.jpg

egrep "\<25[0-5]\>"

attachments-2020-09-5uvr8l2p5f72ec177c954.jpg


11、显示 ifconfig 命令结果中所有 IPv4 地址

ifconfig |egrep "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"

attachments-2020-09-aMOchFqO5f72ec26a6fea.jpg

简单点来说,正则表达式是对一组正在处理的文本的描述。

扫码芷若 获取免费视频学习资料

编程学习

查 看2019高级编程视频教程免费获取