使用sed查找并附加多行多个文件?

时间:2011-07-26 21:27:06

标签: sed

您好我正在尝试将几行代码附加到目录(和子目录)中的几千个html文件中。我要做的是将xxx行代码添加到标记后面的所有html文件中。我试图探索sed但是我遇到了在搜索中使用/符号并在sed命令中添加几行代码的问题。

我正在考虑在txt文件中添加我想要添加的行,并使用sed将所有内容放在标记后面的txt文件中。  非常感谢任何帮助。

Say sample.html包含:

<html>
<head>
</head>
<h1>Title</h1>
<body>
etc

我想在</h1>元素之后添加它:

<script>
etc.
</script>
<iframe>
</iframe>

生成这个:

<html>
<head>
</head>
<h1>Title</h1>
<script>
etc.
</script>
<iframe>
</iframe>
<body>
etc

2 个答案:

答案 0 :(得分:2)

假设您要将文本放在H1结束标记之后,以及该结束标记enter code here

sed -i '/<\/h1>/r new_text.html' sample.html

答案 1 :(得分:2)

另一种解决方案:

script.sed

的内容
/<\/h1>/ {
        a\
<script>\
etc.\
</script>\
<iframe>\
</iframe>
}

像以下一样运行:

sed -i -f script.sed sample.html