单行脚本(1)删除一行和下一行,(2)更改文件中的值

时间:2014-05-27 20:51:36

标签: linux shell unix scripting

在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

1 个答案:

答案 0 :(得分:0)

这是一个很好的,易于阅读的awk单行的删除操作:

awk -v delkey="[a/b/d]" '{ if ($1 == delkey) { i=3 }; if ( i>0 ) { i-- } else { print }}' file.txt

使用该示例,看看是否可以找出值更改操作。 Awk非常值得学习 - 值得付出努力。