不久前,我问了一个类似的问题,但是我碰到了砖墙,要使它正常工作。
我正在编写如下配置文件的修改脚本:
[Thing1]
[[subthingA]]
this = 0
that = string
and = localhost
the = 80
other = 0
thing_ading = /path/to/a/dir
[Thing2]
[[subthingB]]
this = 0
thing_ading = /path/to/dir
here = 0
在[事物]数量为N的情况下,通常具有相同的键和/或键/值对的值,并且[[subthings]]下的键/值对正好缩进8个空格。我正在专门尝试使用awk / sed / grep / tr / cut / perl来设计一种衬纸,该衬纸可以将thing_ading
under的值更改SubthingB
为其他目录路径。
我可以全部编辑thing_adings
,也可以定位某些对,但是空格确实给了我一个问题。
您可以使用sed
的range运算符解决此类问题,
:
sed -e '
/^\[Thing2]$/,/^$/!b
/^[[:blank:]]\{4\}\[\[subthingB]]/,/^$/s|^\([[:blank:]]\{8\}thing_ading\) = .*|\1 = /YOUR/NEW/PATH/TO/DIR|
' yourinifile
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句