Bash 如何在sed中使用变量进行行选择?
我希望使用变量仅使用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 -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是空的,我想showecho“$OUT,$OUT2”