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

正则表达式 – 删除/替换bash中的html标签

发布时间:2020-12-14 06:32:09 所属栏目:百科 来源:网络整理
导读:我有一个包含以下行的文件: lib Some Text:/b More Text /li 我想删除html标签并替换 / b标记用破折号所以它变成这样: 一些文字: – 更多文字 我正在尝试使用sed但是我找不到合适的正则表达式组合. 如果您严格要删除所有HTML标记,但同时只需替换 / b标签
我有一个包含以下行的文件:
<li><b> Some Text:</b> More Text </li>

我想删除html标签并替换< / b>标记用破折号所以它变成这样:

一些文字: – 更多文字

我正在尝试使用sed但是我找不到合适的正则表达式组合.

如果您严格要删除所有HTML标记,但同时只需替换< / b>标签带 –,你可以用管道链接两个简单的sed命令:
cat your_file | sed 's|</b>|-|g' | sed 's|<[^>]*>||g' > stripped_file

这会将所有文件的内容传递给第一个sed命令,该命令将处理替换< / b>到 – .然后,它的输出将通过管道输出到sed,它将用空字符串替换所有HTML标记.最终输出将保存到新文件stripped_file中.

使用与@Steve的其他答案类似的方法,您还可以使用sed的-e选项将表达式链接到单个(非管道命令);通过添加-i,您还可以读入并替换原始文件的内容,而无需使用cat或新文件:

sed -i -e 's|</b>|-|g' -e 's|<[^>]*>||g' your_file

这将像上面的chained-command一样进行替换,但是这次它将直接替换输入文件中的内容.要保存到新文件,请删除-i并添加> stripped_file到最后(或你选择的任何文件名).

(编辑:李大同)

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

    推荐文章
      热点阅读