3

我有一个从海外外包合作伙伴那里收到的 CSS 文件和一个 PHP 文件。他更喜欢新行上的花括号,而我比较老派,更喜欢与声明在同一行上的花括号。如何使用 Bash 和/或 sed 或其他命令行工具将花括号从这种新样式还原为旧样式?

编辑:有人想看一个例子。好的,这里开始:

我不喜欢的新学校风格

body 
{
padding:4px;
margin:3px;
}

我更喜欢的老学校

body {
padding:4px;
margin:3px;
}

我不喜欢的新学校风格

function foo() 
{
// some code here
}

旧学校风格我更喜欢

function foo() {
// some code here
}
4

2 回答 2

4
 sed 'N;/\n{/s// {/;P;D' file.css

输入

$ cat file.css
body
{
background-color:#d0e4fe;
}
h1
{
color:orange;
text-align:center;
}
p
{
font-family:"Times New Roman";
font-size:20px;
}

输出

$ sed 'N;/\n{/s// {/;P;D' file.css
body {
background-color:#d0e4fe;
}
h1 {
color:orange;
text-align:center;
}
p {
font-family:"Times New Roman";
font-size:20px;
}
于 2010-12-23T19:03:30.877 回答
0

开始可能是:

sed 'N;/\n{/s/\n/ /;P;D' inputfile

如果一行以花括号开头,它将被附加到前一行(添加一个空格)。

于 2010-12-23T19:02:02.367 回答