我必须在目录中的所有文件中递归地查找并替换“脚本”HTML标记,我想用bash命令和sed来完成。标签是
< script type="text/javascript" src="http://www.example.com/file.php">< /script>
你能帮帮我吗?
感谢
修改 的 有人告诉我,我没有说明我想要的替代品。实际上“替换”它不是正确的词,因为我只是想删除HTML标记,用空格或空字符替换它。
答案 0 :(得分:0)
在sed中,您可以使用sed "s|pattern|replacement|g"
将所有“模式”替换为“替换”
请提供预期的输出,以帮助其他人更好地了解您的要求
答案 1 :(得分:0)
根据相关信息,您似乎希望从给定目录中的许多HTML文件替换特定字符串。
您可以使用sed执行此操作的方法如下:
sed -i.rep 's/script/replacestring/g' *.html
请注意,-i
选项将更改文件并创建一个名称相同的备份文件,扩展名为.rep,包含原始内容。如果您不想这样做,您可能希望迭代文件并执行sed并将结果写入临时文件。完成后,您可以检查它们并重命名它们。例如:
for i in *.html
do
sed 's/script/replacestring/g' $i > rep$i
done
最后,您将拥有许多与替换文件相对应的rep * .html文件。
您可以按如下方式重命名/覆盖它们:
for i in rep*.html
do
mv $i `echo $i|sed s/rep//`
done
上面的sed表达式会将rep文件重命名为原始名称,并将覆盖它们。