如何对文件中已识别的行进行注释



我正试图通过命令行注释.yml文件中的一行,我正在使用此命令sudo sed -i '/<pattern_to_find>/s/^#//g' /etc/metricbeat/metricbeat.yml,只要该行未被识别,它就可以正常工作,但我正在尝试更改已识别的行,例如:

setup.kibana:
# Kibana Host
# Scheme and port can be left out and will be set to the default (http and 5601)
# In case you specify and additional path, the scheme is required: http://localhost:5601/path
# IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
# host: "localhost:5601"
# Kibana Space ID

有什么想法可以实现吗?我搞不懂

尽管我强烈建议您不要-i选项用于sed,但除了在此处提及之外,我不会对此进行讨论。你只需要改变你的搜索模式。尝试:

sed -E '/^( *)#( host: "localhost:560!")/s//1 2/'

这将无法匹配硬选项卡。根据不同版本之间的可移植性,这可能是一个很难处理的问题。但以下内容应该有效:

sed -E '/^([[:space:]]*)#( host: "localhost:560!")/s//1 2/'

相关内容

  • 没有找到相关文章

最新更新