Shell_Shellプログラミング(更新継続)JSONで指定したフィールドの値を抽出
985 ワード
通常の作業では、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:
----------------------------------------------------