空の構成セクションの削除

空の構成セクションの削除

~/.config/vlc/vlcrcバージョン管理構成オプションのみが必要な場合、そのファイルは99%のゴミです。私スクリプトコメントを削除しましたが、空の構成セクションがたくさん残っています。私のsed-およびawk-fu速度が最新でない場合は、空の設定セクションをどのように削除しますか?

構成セクションの最初の行は^\[.*\]$と一致し、次のようになります。最初の行の後にスペースでのみ構成された行が複数ある場合は、その後にまたは一致する^\[.*\]$他の行が続きますEOF

ベストアンサー1

セクションのタイトルを見るときに考えてみてください。ただし、セクションに設定行が表示されるまで印刷しないでください。セクションヘッダーを予約済みスペースに保存することで、sedでこれを行うことができますが、awkではよりきれいです。

awk '
  /^ *\[/ {section=$0}    # recall latest section header
  /^ *[^[#]/ {            # setting line
    if (section != "") {print section; section="";}  # print section header if not yet done
    print
  }
' ~/.vlc/vlcrc >~/config/vlc/vlcrc

おすすめ記事