gpt4 book ai didi

bash - 从文本文件中删除 HTML 标签

转载 作者:行者123 更新时间:2023-12-05 02:19:08 26 4
gpt4 key购买 nike

我有一些 html 看起来像这样:

`<p>Flannel</p><p>Plaid</p><p>Red</p>`

我想剥离 <p></p>标记并替换为换行符,所以我最终得到如下内容:

Flannel
Plaid
Red

我正在尝试使用这个 tr命令:

tr '<[^>]*>' '\n'

但它只是删除了外部 <> ,所以我最终得到了这个:

p
Flannel
/p

p
Plaid
/p

p
Red
/p

如何修改它以删除整个标签?

注意:我不在乎是否最终在整体之间有多个换行符,如有必要,这些很容易在以后剥离。

最佳答案

除非这是一个快速而复杂的脚本,否则您绝对应该使用 HTML 解析器来处理 HTML 语言的所有复杂问题。

一个快速而肮脏的解决方案可能是应用这个 sed命令:

sed 's/<[^>]*>/\n/g'

我认为它可以满足您对具体示例的需求:

$ echo "<p>Flannel</p><p>Plaid</p><p>Red</p>" | sed 's/<[^>]*>/\n/g'

Flannel

Plaid

Red
 

您的解决方案无效,因为 tr不适用于字符串但适用于字符:​​它只是替换每个 <[^>]*它找到的字符,忽略您试图编写正则表达式的事实。

关于bash - 从文本文件中删除 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43395942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com