sed命令在行首处添加空格

时间:2012-08-07 13:02:35

标签: bash sed

我正在尝试使用sed程序使用bash变量替换配置文件中的两行文本,但行替换有效,但行的开头有一个额外的空格。

我的命令如下:

replacement="computer_id = $server_ref"

(其中$ server_ref是用户输入的变量)

然后:

sed "/computer_id/c \ ${replacement}" -i slapos.cfg

替换的另一行只使用相同的命令,只需在配置文件中更改另一个变量。

此更改的输出类似于

 computer_id = something

什么时候应该

computer_id = something

导致使用配置导致程序崩溃,因为它不会占用该空间。

1 个答案:

答案 0 :(得分:4)

最好这样做:

sed -i "s/^\\(computer_id = \\).*/\\1${server_ref}/" slapos.cfg

如果额外的空格崩溃,那么读取配置文件的程序就不是很健壮了。