更改大括号样式的 Bash 脚本

发布于 2024-10-09 07:47:02 字数 496 浏览 6 评论 0原文

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

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

新学校风格 我不喜欢

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

旧学校风格 我更喜欢

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

新学校风格 我不喜欢

function foo() 
{
// some code here
}

旧学校风格 我更喜欢

function foo() {
// some code here
}

I have a CSS file and a PHP file that I received from an overseas outsource partner. He prefers curly braces on a new line, while I am rather Old School and prefer the curly brace on the same line as the declaration. How can I use Bash and/or sed or other command-line tools to revert curly braces from this new style and into this older style?

EDIT: Someone wanted to see an example. Okay, here goes:

NEW SCHOOL STYLE I DO NOT LIKE

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

OLD SCHOOL I PREFER

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

NEW SCHOOL STYLE I DO NOT LIKE

function foo() 
{
// some code here
}

OLD SCHOOL STYLE I PREFER

function foo() {
// some code here
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蒲公英的约定 2024-10-16 07:47:02
 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;
}
 sed 'N;/\n{/s// {/;P;D' file.css

Input

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

Output

$ 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;
}
以酷 2024-10-16 07:47:02

开始可能是:

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

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

A start might be:

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

If a line begins with a curly brace, it will be appended to the previous line (with an added space).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文