2011-03-30 62 views
1

我有很,我需要注释掉的JavaScript的具体线数的html文件:添加字符到行的开头和结尾开始与一个特定的字符串

<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”,并将<!--添加到包含该字符串的相应行的开头,和 -->到行尾。

某些文件包括type=,有些文件不包含,这就是为什么我想使用src值进行搜索并添加到行首和行尾。

感谢您的帮助。我很感激。

回答

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 
+0

这正是我所期待的。完美的作品!谢谢您的帮助。 – kdwolski 2011-03-30 16:02:41

1

如果用要整理的js行替换“整行”,则会输出一个修改后的文件。

sed 's/\(that whole line\)/<<!--\1-->/' file.htm

现在只是想迭代,用来在目录中的所有文件

for f in *htm; do sed 's/\(that whole line\)/<<!--\1-->/' $f > $f.new done

我会让你知道如何处理移动他们回到正确的文件名。 (也许是一个新的目录?也许一个mv命令?在你的情况下最好的。)

+0

对不起,我刚刚意识到这是不对的,因为并非所有的行都是相同的。 – drysdam 2011-03-30 15:28:54

相关问题