加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从文件中提取正则表达式捕获组的匹配项

发布时间:2020-12-14 06:23:24 所属栏目:百科 来源:网络整理
导读:我想在 linux命令行下执行标题命名的操作(几个ca bash脚本也会这样做).我试过的命令是: sed 's/href="([^"])"/$1/g' page.html list.lst 但显然它失败了. 确切地说,这是我的意见: link rel="stylesheet" type="text/css" href="style/css/colors.css" /lin
我想在 linux命令行下执行标题命名的操作(几个ca bash脚本也会这样做).我试过的命令是:
sed 's/href="([^"])"/$1/g' page.html > list.lst

但显然它失败了.

确切地说,这是我的意见:

<link rel="stylesheet" type="text/css" href="style/css/colors.css" />
<link rel="stylesheet" type="text/css" href="style/css/global.css" />
<link rel="stylesheet" type="text/css" href="style/css/icons.css" />

我想要的输出是输入文件中所有匹配的逗号分隔或空格分隔列表:

style/css/colors.css,style/css/global.css,style/css/icons.css

我想我得到了正确的表达方式:href =“([^”] *)“

但我不知道如何执行此操作. sed将进行搜索/替换,这不是我想要的.(相反,我只需要保持匹配并抛弃其余部分,而不是替换它们)

grep href page.html | sed 's/^.*href="([^"]*)".*$/1/' | xargs | sed 's/ /,/g'

这将提取其中包含href的所有行,并且只会在每行上获得第一个href.另外,请参阅this post关于使用正则表达式解析HTML.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读