我有一个如下所示的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中最简单的方法是什么?
答案 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,它将允许转义序列。