Shell_Shellプログラミング(更新継続)JSONで指定したフィールドの値を抽出



通常の作業では、JSONのフィールドを抽出する必要がある場合があります.
 
サンプルデータ:
{"a1":22,"a2":"23"} {"a2":"23","a1":2233,a3:"22"}  
grepを使用して機能を完了できます.
grep -Po 'test[":]+\K[^"]+'  example.txt 
 
次のようになります.
P, --perl-regexp
      Interpret PATTERN as a Perl regular expression.  This is highly experimental and grep -P may warn of  nimplemented features.
 
test:抽出するフィールド名example.txt:処理が必要なjsonファイル
 
Tips:
1.この方法は、単純なタイプの抽出にのみ適用され、データは文字列タイプ、すなわち「」(二重引用符)で囲まれたデータであり、a 1フィールドは要求を満たしていない.
 
a 2を抽出し、実行可能
[cloudera-scm@app7 test]$ cat test.txt | grep -Po 'a2[" :]+\K[^"]+'
23
23

 
a 1を抽出する、実行できない
[cloudera-scm@app7 test]$ cat test.txt | grep -Po 'a1[" :]+\K[^"]+'
22,
2233,a3:

 
 
----------------------------------------------------