shell脚本之正则表达式练习

显示/etc/rc.d/rc.sysinit文件中以不区分大小的h开头的行

#因没有/etc/rc.d/rc.sysinit文件,故换另外的文件进行练习
[root@William test]# grep -i "h"  /etc/rc.d/rc.local

在这里插入图片描述
显示/etc/passwd中以sh结尾的行

[root@William test]# grep "sh$" /etc/passwd

在这里插入图片描述
显示/etc/fstab中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行

[root@William test]# grep -E "^#[[:space:]]+[^[:space:]]+" /etc/fstab
#”+“:表示对前面的一项进行一次或者多次重复的匹配

在这里插入图片描述
查找/etc/rc.d/rc.local中包含“以to开始并以to结尾”的字串行

[root@William test]# grep -E -w "(to).*\1" /etc/rc.d/rc.local
#"-w":表示匹配一个单词,"(to).*\1"将to这个单词匹配多次

在这里插入图片描述
查找/etc/inittab中含有“以s开头,并以d结尾的单词”模式的行

[root@William test]# grep -w '\<s[a-Z]*d\>' /etc/inittab

在这里插入图片描述
查找ifconfig命令结果中的1-255之间的整数

[root@William test]# ifconfig  | grep  -E "([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"
#显示1-255之间整数的行

[root@William test]# ifconfig  | grep  -E -o "([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"
#显示ifconfig命令结果中出现的数字

在这里插入图片描述
显示/var/log/secure文件中包含“Failed”或“FAILED”的行

[root@William test]# grep  "(Failed|FAILED)" /var/log/secure

在/etc/passwd中取出默认shell为bash的行

[root@William test]# grep  "bash" /etc/passwd

在这里插入图片描述
以长格式列出/etc/目录下以ns开头、.conf结尾的文件信息

[root@William test]# ls -l /etc/ns*.conf

在这里插入图片描述
高亮显示passwd文件中冒号,及其两侧的字符

[root@William test]# grep -E ".?:*:.?" /etc/passwd
#".":代表一个字符;"?":表示匹配0次或1

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值