3

JSON でエンコードされたファイルから変数を抽出し、それを Bash の変数に割り当てる必要があります。

抜粋... file.jsonから

  "VariableA": "VariableA data", 
    "VariableB": [
        "VariableB1", 
        "VariableB2", 
        "VariableB3", 
        "VariableB3"
    ], 

私はこれでどこかに行きました

variableA=$(fgrep -m 1 "VariableA" file.json )

しかし、それは行全体を返します。データだけ欲しい

VariableB の場合、リストをカンマ区切りの値に置き換える必要があります。

私はawk、sed、grep、regexpressionsを見て、実際に学習曲線を与えました...どれを使用するか、またはより良い解決策を知る必要があります。

あなたの提案をありがとう...しかし、これは完璧です git://github.com/kristopolous/TickTick.git

4

3 に答える 3

7

JSON パーサーを使用することをお勧めします。http://json.org/には、BASH シェル用の 2 つを含む多くのリストがあります。

于 2012-08-11T23:01:35.067 に答える
0

Perl の使用に慣れている場合は、json 関数「to_json」を使用してファイルをパイプ処理する「open()」関数があります。json を抽出する場合は、'from_json' 関数を使用できます。ここで確認できます:

http://search.cpan.org/~rjbs/perl-5.16.0/lib/open.pm

http://metacpan.org/pod/JSON#to_json

http://metacpan.org/pod/JSON#from_json (decode json も使用してみてください)

于 2012-08-11T23:17:43.823 に答える