如何在部分后添加代码片段到文件夹中的所有html文件?

时间:2014-07-15 11:34:19

标签: regex text terminal

我有很多html文件,现在我需要在每个文件中插入一段js脚本。是否有一些命令行可以在终端中使用,以便立即将所有文件添加到所有文件中?

1 个答案:

答案 0 :(得分:2)

使用此Perl one-liner:

perl -pe 's!(?<=</head>)!YOUR_SNIPPET!g' *.html

一旦您确定它有效,要直接替换文件,请使用perl -i -pe ...perl -i'.bak' -pe ...进行备份。

这只是编写正则表达式的几种方法之一。

注释

  • 您可以从unix命令行
  • 运行此命令
  • !是分隔符(不能使用/,因为它是</head>的一部分)
  • lookbehind (?<=</head>)断言紧接当前位置之前的是</head>
  • 在此位置,我们会插入YOUR_SNIPPET

复杂代码段?声明环境变量

如果代码段包含撇号和!字符,则需要进行一些转义或将代码段声明为环境变量。例如:

env mysnippet="snip'it" perl -pe 's!(?<=</head>)!$ENV{mysnippet}!g' *.html

<强>参考