【问题标题】:sed command to uncomment lines of codesed 命令取消注释代码行
【发布时间】:2018-05-31 03:15:15
【问题描述】:

处理构建自动化脚本,我们正在尝试从名为 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 就地替换命令可以使用。我们如何在 sed 中做到这一点?

【问题讨论】:

    标签: javascript linux bash shell sed


    【解决方案1】:

    使用 GNU sed:

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

    【讨论】:

    • 收到此错误:sed: 1: "code.js": unterminated substitute in regular expression 知道这意味着什么以及如何解决吗?
    • 将您的sed 版本添加到您的问题中。
    • 可能是它的一个变体,需要在-i 后面加上一个文件名(例如 OSX sed?)。
    • 那你为什么用 Linux 标记你的问题?
    猜你喜欢
    • 2017-10-20
    • 2014-06-08
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 2014-03-10
    • 2011-08-23
    • 2011-10-02
    • 2011-04-14
    相关资源
    最近更新 更多