1
我想在关闭超过2000个HTML文件的<\body>
标记之前插入一段JavaScript代码。这是我尝试过的。但它没有完成这项工作。用Perl代替HTML文件的JavaScript代码
perl -pi -w -e 's/\<\/body\>/\<div id=\"fb-root\"\>\<\/div\>
\<script type=\"text\/javascript\" src=\"https:\/\/connect.facebook.net\/en_US\/all.js\"\>\<\/script\>
\<script type=\"text\/javascript\"\>
FB.init\(\{
appId: \"446059218762070\",
status: true,
cookie: true,
xfbml: true
});
\/\* As of Jan 2012 you need to use \*\/
FB.Canvas.setAutoGrow\(2\);
\<\/script\>
\<\/body\>/g' *.html
我已经做了与perl -pi
其他一些替代脚本,运行良好的像
perl -pi -w -e 's/\<a href=\"index.html\"\>/\<a class=\"top_button\" href=\"index.html\"\>/g' *.html
和
perl -pi -w -e 's/\<link rel=\"STYLESHEET\" type=\"text\/css\" href=\"default.css\"\>/\<link rel=\"STYLESHEET\" type=\"text\/css\" href=\"default.css\"\>
\<script type=\"text\/javascript\" src=\"https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.4\/jquery.min.js\"\>\<\/script\>
\<script type=\"text\/javascript\" src=\"default.js\"\>\<\/script\>/g' *.html
谁能帮助我?我的单行Perl脚本有什么问题?
你有没有试过计算正则表达式的匹配?它可能是一个字母是关闭或什么 – AJcodez 2012-07-11 16:53:12
好吧,我从HTML文件中的一个HTML文件复制确切的HTML/JavaScript到脚本。这应该是正确的吗? – Llewellyn 2012-07-11 20:05:55
@WebsiteMount:删除
我不明白为什么它会失败,但是你不必要地逃避太多人物,以至于任何错误都变得不可见。
你是不是在图案或替换字符串用方括号,所以我建议你用它们来界定替代,就像在黑暗中这
只是一个镜头:我不知道您的文件中的
</body>
标记是否大写?在这种情况下,你的比赛会失败。我建议你添加i
修饰符(使gi
)只是为了确保。来源
2012-07-11 18:02:22 Borodin
我刚刚尝试过,并且出于某种奇怪的原因它说“没有这样的文件或目录”。然后我只看到我给你错误的顺序。你看我首先添加了这个JavaScript行,它的工作原理是我给的工作,但是我想再次删除它。而改变的地方,而不是添加行,我现在想删除它们,它不工作..我会编辑我的帖子,以显示我刚刚使用的脚本,它仍然无法正常工作。 – Llewellyn 2012-07-11 19:56:15
我得到的脚本运行时输出错误“没有这样的文件或目录”使用'-pi -w -e'而不是'-wpie',但它仍然不能代替HTML/JavaScript – Llewellyn 2012-07-11 20:45:15