使用正则匹配并显示匹配的内容

最近在解析HTML文件,遇到这样的一个场景。我需要将HTML文件中data-url="xxx"中的xxx查找并显示出来。

首先考虑使用find,但是find只能显示包含查找内容的文件名,不符合场景的需要。

接着考虑使用grep,配合-o参数,确实可以显示匹配到的内容,但是grep正则的时候,总是贪婪匹配,不能够最少匹配。如果非贪婪匹配,则需要使用GNU grep,命令如下:grep -o -P。但是Mac中的grep默认是BSD grep,所以这条路也走不通了。

最后,只有求助于perl的命令行方式来实现了,最后代码如下:

find www.maserati.com.cn -name *html -exec cat {} \; | perl -ne 'print $1 if /data-url=\"(http:\/\/.*?)\"/;'

 

转载于:https://www.cnblogs.com/cocowool/p/4093518.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值