如何在bash脚本中的注释顶部添加空格

时间:2014-05-13 17:44:15

标签: bash sed

给出像这样的脚本

# I love this comment
echo "Code code code"
# I love this comment more
echo "More code, more code"

我想自动将其更改为

# I love this comment
echo "Code code code"

# I love this comment more
echo "More code, more code"

我如何实现

3 个答案:

答案 0 :(得分:5)

您可以使用:

sed '2,$ s/^#/\n#/' 

除了第一行之外,它会在行的每个#前面添加一个新行。

答案 1 :(得分:3)

这是awk

awk '/^[[:blank:]]*#/ && NR>1 {$0=RS$0}1' file
# I love this comment
echo "Code code code"

# I love this comment more
echo "More code, more code"

除了第一行之外,它在以#开头的每行之前添加一个空行。

答案 2 :(得分:0)

这可能适合你(GNU sed):

sed '1b;/^#/i\\' file