我有一个CSS文件和一个我从海外外包合作伙伴那里收到的PHP文件。他喜欢在一条新线上使用花括号,而我更喜欢Old School,并且更喜欢与宣言相同的花括号。如何使用Bash和/或sed或其他命令行工具将这种新样式的花括号恢复为旧样式?
编辑:有人想看一个例子。好的,这里有:
新学校风格我不喜欢
body
{
padding:4px;
margin:3px;
}
老学校我喜欢
body {
padding:4px;
margin:3px;
}
新学校风格我不喜欢
function foo()
{
// some code here
}
老学校风格我喜欢
function foo() {
// some code here
}
答案 0 :(得分:3)
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;
}
答案 1 :(得分:0)
一个开始可能是:
sed 'N;/\n{/s/\n/ /;P;D' inputfile
如果一行以大括号开头,则会将其附加到上一行(添加空格)。