【发布时间】:2014-04-15 21:33:01
【问题描述】:
我正在尝试使用该行内的 sed 字符搜索并替换该行的文本。该行是一个文件路径,因此它有 /*.而不是它。我已经搜索并找到了 n\ 和反对 \ 但这些似乎都不起作用。不管我做错了什么,这很简单,但是我看不到穿过森林的树。
要编辑的数据:
Include conf.d/*.conf
我正在尝试编辑
conf.d/*.conf
conf.d/vhosts/*.conf
Include 是文件中的其他位置,但这是唯一出现在第一个单词的地方。这是我目前所拥有的:
sed -i "/^Include/ s/\conf.d/*.conf\/ */\conf.d/vhosts/*.conf\/" /etc/httpd/conf/httpd.conf
我也试过了
sed -i "/^Include/ s/[conf.d/*.conf]/[conf.d/vhosts/*.conf]/g" /etc/httpd/conf/httpd.conf
这是标准的搜索错误信息:
Error Message: sed: -e expression #1, char 29: unknown option to `s'
我知道这很简单,但我似乎无法弄清楚。在过去的一个小时里,我一直坚持这一点。如果我能解决这个问题,那么我可以使用类似 sed 的字符来编辑 documentroot 和其他元素。
sed 版本 GNU sed 版本 4.2.1
【问题讨论】:
-
@tripleee 感谢您指出这一点。但是,如果可能的话,我正在尝试将其设为单行。我的目标是在 Include conf.d/*.conf 编辑 httpd.conf 文件,并将 conf.d 替换为用户输入。我无法通过搜索找到我想要的东西,所以我发布了这个问题。我是新手,还在学习这个社区的运作方式。