有谁知道删除配置块的简单实用方法。我有一个格式如下的文件:
lease {
interface "eth0";
...
}
lease {
interface "wlan3";
fixed-address 192.168.0.108;
option subnet-mask 255.255.255.0;
...
}
我想删除 的配置块interface "wlan3";
。
我开始尝试编写自定义 grep 函数,但它很快就变得复杂。
这似乎是一个常见问题。有没有人有一个方便的解决方案来处理这种格式的配置文件?
答案1
和awk
:
awk -v RS='}' 'NF && ! /interface "wlan3";/{print $0"}"}' infile
输出将是:
lease {
interface "eth0";
...
}