要从Shell脚本中的行首删除字符吗?

时间:2019-05-06 11:08:13

标签: bash shell ubuntu

我正在编写一个Shell脚本来自动设置apache网站的配置和目录。我遇到了一个问题,我的sed命令没有从ServerName行的开头删除默认的#。谁能帮助我更改命令以使其按我需要的方式工作?

谢谢。

sudo sed -Ei "s|^([[:blank:]]*#ServerName).*$|\1 ${1.io|;
         s|^([[:blank:]]*DocumentRoot).*$|\1 \"/var/www/${1}/public\"|;
        " "/tmp/${1}.io.conf"

1 个答案:

答案 0 :(得分:1)

为什么该命令应删除哈希?它是您捕获小组的一部分。

如果要删除它,split the capturing group in two parts:在哈希值前面一个,在哈希值后面一个。

^([[:blank:]]*)#?(ServerName).*$