【问题标题】:Edit html file in the .sh script在 .sh 脚本中编辑 html 文件
【发布时间】:2013-04-12 22:47:16
【问题描述】:

我在“docs/index.html”中有静态 html 文件,其中包含大约 200 行代码。 我需要使用 .sh 脚本在 2 个地方添加 html 标签。我知道有命令 sed 编辑文件,但不知道它是如何使用的。

我需要添加

<li><a class="reference" href="#front-end-docs">Front end documentation</a></li>

之前

<li><a class="reference internal" href="#indices-and-tables">

或将我的标签附加到行号的末尾137

当然,在那之后保存文件:)

还有一个类似的标签在另一个地方。你能给我一个例子来说明如何使用这些特定的代码行来插入吗?

谢谢

【问题讨论】:

标签: shell sh


【解决方案1】:

让我们看看我是否正确理解了你的问题:

$ cat testfile
one
two
<li><a class="reference internal" href="#indices-and-tables">
four
five

$ sed '3s|\(.*\)|<li><a class="reference" href="#front-end-docs">Front end documentation</a></li>\1|' testfile
one
two
<li><a class="reference" href="#front-end-docs">Front end documentation</a></li><li><a class="reference internal" href="#indices-and-tables">
four
five

3s 与有问题的行号交换,例如137s - 这告诉sed 您希望替换发生在哪一行。 您编写了 add before 或 append,所以我不确定您是否真的打算将字符串附加或将其添加到行中,因此请将 \1 移动到您需要的任何位置。上述命令捕获整行3,您可以在替换字符串中通过\1 引用。

一旦它提供了所需的输出,将-i 开关添加到sed 以覆盖原始文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    • 2017-01-03
    • 2016-08-10
    • 1970-01-01
    • 1970-01-01
    • 2014-02-28
    • 2015-12-03
    相关资源
    最近更新 更多