Bash 通过一行命令在Ubuntu中编辑conf文件

Bash 通过一行命令在Ubuntu中编辑conf文件,bash,apache,ubuntu,vim,sed,Bash,Apache,Ubuntu,Vim,Sed,我想更改apache2 web服务器的默认web根文件夹,但要通过脚本中的命令行进行更改 我知道要通过nano/vim来完成,然后转到行并手动更改,但我想通过命令行来完成 我思考了一些事情,比如(语法是错误的——我知道——只是为了说明我的观点): 也许不是vim,而是其他人?? 有什么想法吗 谢谢您应该将sed与替换命令一起使用,以执行此类操作 我手头没有unix机器,但类似的东西应该可以工作(使用#而不是通常的/as分隔符): 即使这不是您的问题,因为您最初的问题提到了Vim,您也可以使用V

我想更改apache2 web服务器的默认web根文件夹,但要通过脚本中的命令行进行更改

我知道要通过nano/vim来完成,然后转到行并手动更改,但我想通过命令行来完成

我思考了一些事情,比如(语法是错误的——我知道——只是为了说明我的观点):

也许不是vim,而是其他人?? 有什么想法吗


谢谢

您应该将
sed
与替换命令一起使用,以执行此类操作

我手头没有unix机器,但类似的东西应该可以工作(使用#而不是通常的/as分隔符):

即使这不是您的问题,因为您最初的问题提到了Vim,您也可以使用Vim内部的替代品


将sed与参数
-i
一起使用

 sed -i 's-/var/www-&/MyFolder-' /etc/apache2/sites-enabled/000-default.conf

参数
-i
启用就地编辑。

实际上,您可以自动修改文件vim:
vim-c”%s#/var/www#/var/www/MyFolder#g“-c wq/etc/apache2/sites enabled/000 default.conf
谢谢大家。看来塞德会做这项工作。我不熟悉。user1902346其中一个答案有用吗?✓
sed 's#/var/www#/var/www/MyFolder#' /etc/apache2/sites-enabled/000-default.conf
:%s #/var/war#/var/www/MyFolder#g

% means search in the whole file
g means globally : it will replace multiple instance if the string is found multiple times
 sed -i 's-/var/www-&/MyFolder-' /etc/apache2/sites-enabled/000-default.conf