構成ファイルからブロックを削除しますか?

構成ファイルからブロックを削除しますか?

構成ブロックを削除する簡単で実用的な方法を知っている人はいますか?次の形式のファイルがあります。

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";
  ...
}

おすすめ記事