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

时间:2019-02-07 17:22:53

标签: bash

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

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

我想将其转换为git commit消息,因此我需要在第一行之后插入空白行以使其成为提交标题,在第二行之后插入提交主体,以便扩展如下所示:

This is the first line.

This is the second line

在bash中最简单的方法是什么?

1 个答案:

答案 0 :(得分:4)

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

string="This is the first line.
This is the second line"
new_string=${string/$'\n'/$'\n\n'}
echo "$new_string"

${var/pattern/replacement}Parameter Expansion;它扩展到var的扩展,其中pattern的第一次出现被replacement取代。

$'...'被称为ANSI-C quoting,它将允许转义序列。