【发布时间】:2014-04-28 16:59:26
【问题描述】:
在 Riak app.config 文件中有一个部分如下所示:
%% JMX Config
{riak_jmx, [
{enabled, false}
]},
我想用它来代替:
%% JMX Config
{riak_jmx, [
{enabled, true}
]},
是的,很简单,但我一直希望能够做到这一点,多行文本替换。我想使用 AWK 或 Sed 来执行操作。
(值得一提的是,我使用的是 OSX,所以我没有这些程序的精美 GNU 版本)。
我得到的最接近的是以下,它并不能正常工作......
sed '/{riak_jmx/,/]},/{ c\
\{riak_jmx, [\
\{enabled, false\}
; }' ./app.config
还有:
awk '/{riak_jmx/,/]},/{ if($0 ~ "{enabled, false}") {
print "{enabled, true}" }
else {
print $0
} }1' < ./app.config
这也不起作用。这两个命令都打印块的旧版本和新版本。
有什么想法吗?
【问题讨论】:
标签: awk sed multiline command-line-interface