【问题标题】:Shell script using sed to remove HTML tag containing specific text使用 sed 删除包含特定文本的 HTML 标记的 Shell 脚本
【发布时间】:2013-12-02 15:49:05
【问题描述】:

我正在寻找一种方法来删除(如果可能,使用 sed)包含特定单词的 html 标记。 例如,删除每个包含单词 foodiv 标记。 div 当然可以包含多行。例如:

<body>
    <div>
        This div will be <i>deleted</i>.
        Why ?
        Because it contains foo.
    </div>

    <div>
        This div doesn't contains the forbidden word.
        <b>So it won't be deleted.</b>
    </div>
</body>

我找到了删除 html 标签的方法,但没有找到包含特定文本的标签。谢谢!

【问题讨论】:

  • 你有没有尝试过?
  • 很遗憾,我不是 sed 专家。完全没有。但是我花了一些时间四处寻找解决方案,但到目前为止没有找到任何可以帮助我的东西。
  • 使用具有适当 HTML 解析器的语言。 sed 只会处理,例如嵌套的divs 难度很大。

标签: bash shell sed pattern-matching


【解决方案1】:

单独使用 sed 是不可能的。 Sed 是一个单行处理器。如果你想要一个使用 sed/bash/grep 的脚本,你需要创建一个解析器来解析 div 内容并且只打印不包含你想要的文本的 div。说真的,请寻找一个 html 解析器。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-01-24
  • 2022-07-11
  • 2011-08-14
  • 1970-01-01
  • 2017-02-11
  • 1970-01-01
  • 2013-12-01
  • 1970-01-01
相关资源
最近更新 更多