在bash字符串中插入新行的最简单方法

在bash字符串中插入新行的最简单方法,bash,Bash,我有一个bash字符串,如下所示: string="This is the first line. This is the second line" This is the first line. This is the second line 我想将其转换为git提交消息,因此我需要在第一行之后插入一个空行,使其成为提交标题,第二行成为提交正文,这样扩展如下所示: string="This is the first line. This is the second line" This

我有一个bash字符串,如下所示:

string="This is the first line.
This is the second line"
This is the first line.

This is the second line
我想将其转换为git提交消息,因此我需要在第一行之后插入一个空行,使其成为提交标题,第二行成为提交正文,这样扩展如下所示:

string="This is the first line.
This is the second line"
This is the first line.

This is the second line
在bash中实现这一点最简单的方法是什么?

应该这样做(它用两个连续的换行符替换找到的第一个换行符):

${var/pattern/replacement}
是一个;它扩展为
var
的扩展,其中第一次出现的
pattern
replacement
替换

$“…”
被称为并允许转义序列。

应该这样做(它用两个连续的换行符替换找到的第一个换行符):

${var/pattern/replacement}
是一个;它扩展为
var
的扩展,其中第一次出现的
pattern
replacement
替换


$“…”
被称为并将允许转义序列。

如果您将上述字符串作为变量的输出,那么它实际上有换行符,如?(根据你的需要,这里几乎没有答案)@jnevil,我不确定这是不是一个副本;我想OP希望在第一行和第二行之间有一个空行(不过不太确定)。Tri Nguyen,你能确认你想在这两行之间留一个空行吗?@JNevill:(我不知道,我只是在这里胡乱猜测):也许OP已经有了这个字符串,想在第一行和字符串的其余部分之间插入一个空行?(同样,我真的不知道,只是猜测)。@jnevil,我同意这不是git提交问题的重复。OP说他已经有了一个bash字符串,并想插入一个新行。要启动,没有git标记。我相信他只是给出了上下文。如果你把上面的字符串作为变量的输出,那么它实际上有换行符,比如?(根据你的需要,这里几乎没有答案)@jnevil,我不确定这是不是一个副本;我想OP希望在第一行和第二行之间有一个空行(不过不太确定)。Tri Nguyen,你能确认你想在这两行之间留一个空行吗?@JNevill:(我不知道,我只是在这里胡乱猜测):也许OP已经有了这个字符串,想在第一行和字符串的其余部分之间插入一个空行?(同样,我真的不知道,只是猜测)。@jnevil,我同意这不是git提交问题的重复。OP说他已经有了一个bash字符串,并想插入一个新行。要启动,没有git标记。我相信他只是在讲背景。谢谢。regex中的
$
的目的是什么?@TriNguyen:添加了解释和参考来解决这个问题。谢谢。regex中
$
的目的是什么?@TriNguyen:添加了解释和参考来解决这个问题。