08-正则表达式

正则表达式

1、元字符

在这里插入图片描述

2、通配符
  • 通配:文件名
  • 元字符:文件的内容

在这里插入图片描述

统计词频

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RFs7C3Dl-1586502092075)(D:\Tpory_imgs\img\image-20200320101709594.png)]

3、 grep egrep fgrep

grep:最原始,扩展的正则无效

egrep:扩展grep命令,支持基本和扩展正则表达式,等价与grep -E

egrep "r[a-z].+t" /etc/passwd  #匹配;r开始后面跟a-z的任意符号 跟一个或多个任意符号 最后以t结尾。
egrep "c(a|o)t" group

fgrep:快速grep命令,不支持正则表达式,按照字符串的字面意思进行匹配,等价于grep -F

fgrep "root" /etc/passwd
fgrep "." /etc/hosts
4、grep选项

在这里插入图片描述

  1. 在group中不是root 的内容 一屏一屏显示出来
  2. 在group 中查找rXXXx 的行
  3. 以c或h开始XXx
5、作业总结:
  1. 文本中后面不能有空格
  2. > 为覆盖写入。>> 为在后面添加
#! /bin/bash
str=`egrep "^([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" ip.txt`
echo "$str"

查看当前目录下的所有文件内容

#findall
#! /bin/bash
arr=(`ls`) # 查询当前目录的所有文件名并存入数组arr
for s in "${arr[@]}" # 循环遍历数组arr
do
	echo "$s"	# 输出当前文件名
	more $s		# 输出文件中的内容
	echo		# 换行
done
6、查询符合ip、本机ip
#8-10:查询/etc目录下所有rc开头然后跟一数字的文件名
#! /bin/bash
str=`ls /etc | grep -P "^rc\d"`
echo "$str"


#8-18 查询demo5中4个数字结尾的内容
#! /bin/bash
str=`egrep "[[:digit:]]{4}$" demo5.txt`
echo "$str"

# 8-21 查询符合ip格式的内容
#! /bin/bash
str=`egrep "^([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9
]{2}|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0
-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" ip.txt`
echo "$str"



# ip22 获取本机ip地址
#! /bin/bash
str=`egrep "^([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9
]{2}|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0
-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])" ip.txt`
echo "$str" > ip22.txt
tail -1 ip22.txt



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值