我有一个shell脚本,其中使用sed命令我取消注释config.yml
文件中的一行,如下所示:
# FACEBOOK_APP_ID: "1766687946907911"
但是在使用sed命令取消注释后,空格字符将被删除,如下所示:
FACEBOOK_APP_ID: "1766687946907911".
如何保留空格字符
我的脚本代码如下:
line='# FACEBOOK_APP_ID: "980888827611"'
sed -i "/${line}/ s/# *//" config.yml
答案 0 :(得分:3)
您的sed命令s/# *//
会删除第一个#
,后跟零个或多个空格(*
)。
试试这个:
sed -i "/${line}/ s/^#//" config.yml
它会在行的开头删除#
。