Javascript sed命令取消对代码行的注释
正在处理构建自动化脚本,我们正在尝试从名为Javascript sed命令取消对代码行的注释,javascript,linux,bash,shell,sed,Javascript,Linux,Bash,Shell,Sed,正在处理构建自动化脚本,我们正在尝试从名为code.js的文件中获取输入,如下所示: var foo = {}; // var bar = 1; // var fooBar = 2; // var barFoo = 3; var foo = {}; var bar = 1; var fooBar = 2; var barFoo = 3; 当我们完成后,有一个输出,其中的注释行现在未注释,没有前导空格,如下所示: var foo = {}; // var bar = 1; // var
code.js的文件中获取输入,如下所示:
var foo = {};
// var bar = 1;
// var fooBar = 2;
// var barFoo = 3;
var foo = {};
var bar = 1;
var fooBar = 2;
var barFoo = 3;
当我们完成后,有一个输出,其中的注释行现在未注释,没有前导空格,如下所示:
var foo = {};
// var bar = 1;
// var fooBar = 2;
// var barFoo = 3;
var foo = {};
var bar = 1;
var fooBar = 2;
var barFoo = 3;
我们正在尝试将转换保存回code.js
到目前为止,我们已经尝试了这个sed命令,但我们的sed并不好:
sed -i '' -e's/\*\//\n&/g' code.js
我们也尝试过使用awk,但前导空间仍然存在,而且它似乎在终端上起作用,但由于某些原因,在自动化脚本中不起作用:
awk '{sub(/\/\//,""); print}' code.js
我们更喜欢使用sed,因为到目前为止,我们已经有一些sed就地替换命令在工作。我们如何在sed中做到这一点?使用GNU sed:
sed -i 's|^// ||' file
使用GNU时:
sed -i 's|^// ||' file
获取此错误:sed:1:“code.js”:正则表达式中的未终止替换
知道它的含义和解决方法吗?将您的sed
版本添加到您的问题中。很可能它是一种变体,需要在-i
之后加上文件名(例如OSX sed?)。OSX sed:(-那你为什么要用Linux来标记你的问题呢?得到这个错误:sed:1:“code.js”:正则表达式中的unterminated substitute
知道它的意思和解决方法吗?将你的sed
版本添加到你的问题中。它可能是一个变体,需要在-i
后面加一个文件名(例如OSX-sed?)。OSX-sed:(-那你为什么用Linux来标记你的问题?