在Linux中,我有一个具有以下结构的文件:
[a / b / c]
值= 1
[a / b / d]
值= 0
[a / b / e]
值= 0
键“ [x / y / z]”是唯一的。
在等号之前和之后,我都具有\ t制表符(即使没有\ t,也请发布解决方案)。
(例如,值\ t \ t = \ t0)
如何进行以下操作?
(1)在给定键的情况下删除行[[x / y / z]'和随后的一个'value = 0'
(2)更改文件中键的值:
FROM
[a / b / c]
value = 0
TO
[a / b / c]
值= 1
这是一个不错的,易于阅读的awk单行代码的删除操作:
awk -v delkey="[a/b/d]" '{ if ($1 == delkey) { i=3 }; if ( i>0 ) { i-- } else { print }}' file.txt
使用该示例,看看是否可以弄清楚值更改操作。Awk非常值得学习-值得付出努力。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句