Linux端末を使用してログファイルから特定のテキストを抽出する方法は?

Linux端末を使用してログファイルから特定のテキストを抽出する方法は?

次のような多くの行を含むログファイルがあります。

2017-07-16 01:06:07 | 8801624874139 | http://192.168.5.1:2020/credit/purchase/4 | XpressLoan | {"resultCode":0,"resultMessage":"OK","amount":100000,"serviceFee":24400,"totalOutstandingdebt":124400,"msisdn":8801624874139}  
2017-07-16 01:06:24 | 8801628666938 | http://192.168.5.1:2020/credit/purchase/5 | XpressLoan | {"resultCode":0,"resultMessage":"OK","amount":50000,"serviceFee":12180,"totalOutstandingdebt":62180,"msisdn":8801628666938}

上記のログから金額の値をどのように取得できますか?

予想出力:

100000
50000

ベストアンサー1

組み合わせの使用アッ+ジャック(JSON操作ツール):

awk '{ print $10 }' logfile | jq -r '.amount'

出力:

100000
50000

このアプローチを使用すると、JSONエンコードフィールドから任意の/複数のキー/値を抽出できます。

おすすめ記事