如何在从shell脚本取消注释.yml文件中的行时添加两个空格字符

时间:2016-03-12 13:09:57

标签: bash shell sed yaml

我有一个shell脚本,其中使用sed命令我取消注释config.yml文件中的一行,如下所示:

#  FACEBOOK_APP_ID: "1766687946907911" 

但是在使用sed命令取消注释后,空格字符将被删除,如下所示:

FACEBOOK_APP_ID: "1766687946907911".

如何保留空格字符

我的脚本代码如下:

line='#  FACEBOOK_APP_ID: "980888827611"'
sed -i "/${line}/ s/# *//" config.yml

1 个答案:

答案 0 :(得分:3)

您的sed命令s/# *//会删除第一个#,后跟零个或多个空格(*)。

试试这个:

sed -i "/${line}/ s/^#//" config.yml

它会在行的开头删除#