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


    最近在解析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://.*?)"/;'
  • 相关阅读:
    template(2.2)
    Filter过滤链条
    The 3n + 1 problem
    Struts2.3+Spring4.0
    康托展开
    templates(2.1)
    templates(1.2)
    templates(1.1)
    我和你
    Android 的上下文菜单: Context Menu
  • 原文地址:https://www.cnblogs.com/cocowool/p/4093518.html
Copyright © 2020-2023  润新知