用sed改变大括号的位置

时间:2014-04-28 13:23:37

标签: bash sed

我有多个源代码,其中括号如下

function()
{
    if(...)
    {
        ...
    }
    else
    {
        ...
    }
}

我想让它看起来像这样:

function() {
    if(...) {
        ...
    }
    else {
        ...
    }
}

我已尝试使用sed命令进行一些技巧,但我无法弄清楚如何使其正常工作。这是我最近的尝试:

sed ":a; N; $!ba; s/\n{/ {/g" myfile

编辑 -

我设法使用该命令:

sed "N;/\n *{/s// {/;P;D"

sed一样,我不太明白为什么会有效,但确实如此。

1 个答案:

答案 0 :(得分:2)

由于您正在执行代码格式化,我是否可以建议您使用更适合此的工具,并调查类似AStyle的内容。这是您的specific issue(大括号定位)

的信息