1

だからここに私が解析したい設定ファイルからのスニペットがあります(これはLVM2設定です):

VolGroup00 {
    id = "vyllep-rfI6-LCvO-h6mN-zYZu-hiAN-QShmG6"
        seqno = 3
        status = ["RESIZEABLE", "READ", "WRITE"]
        flags = []
        extent_size = 65536             # 32 Megabytes
        max_lv = 0
        max_pv = 0
        metadata_copies = 0

        physical_volumes {

                pv0 {
                        id = "1yLiSl-x0fp-ZkyU-HMQl-eTVt-xiId-cFnih0"
                        device = "/dev/xvda2"   # Hint only

                        status = ["ALLOCATABLE"]
                        flags = []
                        dev_size = 31246425     # 14.8995 Gigabytes
                        pe_start = 384
                        pe_count = 476  # 14.875 Gigabytes
                }
        }
}

これを Perl データ構造に解析したいと思います。この構成はどのような形式ですか? 私の推測では、Python のデータ構造のように見えます。

形式、またはそれを解析するための既存のモジュールについて何か考えはありますか?

4

1 に答える 1

8

構成は、LVM専用のカスタム構成言語を使用します。lvmユーザースペースツールには、この言語を解析するためのコードが含まれています。

おそらくParse::RecDescentを使用して、lvm2のユーザースペースコードを取得し、そのパーサーの複製を試みることができます。

あるいは、CPANのPerl Linux :: LVMモジュールは、必要な情報を抽出する機能を提供します。

于 2012-04-17T00:53:26.153 に答える