我正在尝试在配置文件中添加一个属性,直接在描述该属性的注释下方。这是我的测试文件:
# Filename of SSL Certificate
# Filename of SSL RSA Private Key
# Filename of SSL Certificate Chain
## ssl_certificate_chain=
我想直接在第一条评论下添加 ssl_certificate=/etc/hue/conf/https.cert
。我的第一个天真的方法是只替换评论。但是,这不起作用,因为第三条评论中的文本也发生了变化,直到“链”文本。
所以我被困在使用什么 sed 选项上。我曾以多种方式尝试过 a
命令,但我对这样做还很陌生,围绕此 a
命令的大量类似问题让我走上了错误的道路,我认为。这是我的尝试。任何帮助表示赞赏。任何与此类似的问题已得到解答,请指出。我今天找了一段时间。
由于替代值中的斜线而使用 ,
作为分隔符
"a,# Filename of SSL Certificate,ssl_certificate=/etc/hue/conf/https.cert,"
结果:
# Filename of SSL Certificate
,# Filename of SSL Certificate,ssl_certificate=/etc/hue/conf/https.cert,
,# Filename of SSL Certificate,ssl_certificate=/etc/hue/conf/https.cert,
# Filename of SSL RSA Private Key
,# Filename of SSL Certificate,ssl_certificate=/etc/hue/conf/https.cert,
,# Filename of SSL Certificate,ssl_certificate=/etc/hue/conf/https.cert,
# Filename of SSL Certificate Chain
,# Filename of SSL Certificate,ssl_certificate=/etc/hue/conf/https.cert,
## ssl_certificate_chain=
,# Filename of SSL Certificate,ssl_certificate=/etc/hue/conf/https.cert,
,# Filename of SSL Certificate,ssl_certificate=/etc/hue/conf/https.cert
"s,# Filename of SSL Certificate,a ssl_certificate=/etc/hue/conf/https.cert,"
结果:
a ssl_certificate=/etc/hue/conf/https.cert
# Filename of SSL RSA Private Key
a ssl_certificate=/etc/hue/conf/https.cert Chain
## ssl_certificate_chain=
答案 0 :(得分:1)
你走在正确的道路上。您只需要匹配包括行尾 ($
) 在内的整行。
sed '\,# Filename of SSL Certificate$,a ssl_certificate=/etc/hue/conf/https.cert'
这将保留您的评论并将 SSL-cert 路径放在后面。