在Linux中,我有一个具有以下结构的文件:
[A / B / C]
value = 1
[A / B / d]
value = 0
[A / B / E]
value = 0
键'[x / y / z]'是唯一的。
在等号之前和之后我有\ t制表(即使没有\ t也请发布解决方案)
(例如,值\ t \ t = \ t0)
如何进行以下操作?
(1)在给定键
的情况下,删除一行'[x / y / z]'和下一个'value = 0'
(2)更改文件中键的值:
从
[A / B / C]
值= 0
TO
[A / B / C]
值= 1
答案 0 :(得分:0)
这是一个很好的,易于阅读的awk单行的删除操作:
awk -v delkey="[a/b/d]" '{ if ($1 == delkey) { i=3 }; if ( i>0 ) { i-- } else { print }}' file.txt
使用该示例,看看是否可以找出值更改操作。 Awk非常值得学习 - 值得付出努力。