Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何在sed中使用变量进行行选择?_Bash_Variables_Sed - Fatal编程技术网

Bash 如何在sed中使用变量进行行选择?

Bash 如何在sed中使用变量进行行选择?,bash,variables,sed,Bash,Variables,Sed,我希望使用变量仅使用sed替换文件的特定部分,如下所示: sed -i.out "$OUT,$OUT2 s|AllowOverride None|AllowOverride All|g" /etc/apache2/apache2.conf 但是,这将返回以下错误消息: sed: -e expression #1, char 1: unknown command: `,' 这里可能有什么问题?如果您试图将所有出现的“AllowOverride None”替换为“AllowOverride Al

我希望使用变量仅使用sed替换文件的特定部分,如下所示:

sed -i.out "$OUT,$OUT2 s|AllowOverride None|AllowOverride All|g" /etc/apache2/apache2.conf
但是,这将返回以下错误消息:

sed: -e expression #1, char 1: unknown command: `,'

这里可能有什么问题?

如果您试图将所有出现的“AllowOverride None”替换为“AllowOverride All”,您可以这样做


sed-i's/AllowOverride None/AllowOverride All/g'/etc/apache2/apache2.conf

如上所述,我的$OUT变量确实是空的。当它包含一个值时,它就起作用了。

OP正在尝试在一系列行之间进行更改。这不是OP所要求的。我确实在尝试在一系列行之间进行更改。听起来像是
OUT
OUT2
中的一个是空的或包含意外的空白。错误消息看起来像是
OUT
是罪魁祸首,可能是空的。他的$OUT是空的,我想show
echo“$OUT,$OUT2”