sed命令取消注释代码行

时间:2017-12-17 16:45:44

标签: 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;

我们正试图将转化保存回code.js

到目前为止,我们已经尝试过这个sed命令,但我们的sed并不是那么好:

sed -i '' -e's/\*\//\n&/g' code.js

我们也尝试使用awk,但是领先的空间仍然存在并且它似乎在终端上工作,但由于某种原因不在自动化脚本中:

awk '{sub(/\/\//,""); print}' code.js

我们更喜欢使用sed,因为到目前为止我们已经有一些sed inplace replacement命令。我们怎样才能在sed中做到这一点?

1 个答案:

答案 0 :(得分:3)

使用GNU sed:

sed -i 's|^// ||' file