我有很多html文件需要注释掉特定的JavaScript行:
<script src="/common/javascript/jquery/jquery.tools-1.2.4.min.js" type="text/javascript"></script>
我想通过命令行做的是在目录中搜索.htm文件:“/common/javascript/jquery/jquery.tools-1.2.4.min.js”并添加{{1到包含字符串的相应行的开头,和
<!--
到最后一行。
有些文件包含-->
,有些则没有,这就是为什么我想使用src值进行搜索并添加到行的开头和结尾。
感谢您的帮助。我很感激。
答案 0 :(得分:1)
如果您将“整行”替换为要注释掉的整个js行,则会输出修改后的文件。
sed 's/\(that whole line\)/<<!--\1-->/' file.htm
现在只需迭代dir中的所有文件
for f in *htm; do
sed 's/\(that whole line\)/<<!--\1-->/' $f > $f.new
done
我会告诉你如何处理将它们移回正确的文件名。 (也许是一个新的目录?也许是mv
命令?在你的情况下最好的是什么。)
答案 1 :(得分:0)
这是你想要的吗?
for f in *.htm*; do
mv "$f" "$f.tmp"
sed 's#^\(.*common/javascript/jquery/jquery.tools-1.2.4.min.js.*\)#<!-- \1 -->#' "$f.tmp" > "$f"
rm "$f.tmp" ;
done