2017-04-24 26 views
0

ElasticSearchのJSON結果をjqと解析し、JSONから必要な値を取得してCSVに変換します。 JSONファイルからのフィールドには日付はありません。私はCSVの各行に最初の値として特定の日付を書くことができる必要があります。JQを使用してJSONをCSVに変換するときに今日の日付を追加する

ES_Query | jq -r '.aggregations.distinct_UUID.buckets[] | (.latest.hits.hits[]._source | [."_uuid",."site_name",."Jar"]) + (.PS_percentiles.values | [."80.0",."95.0"]) | @csv' >> /home/Outputs/res_wk_${end_date[$weeknum]}.csv 

例えば、各行で、UUID、Sitename、Jarの値の前にdate +%Fの出力を書きたいとします。出来ますか?

B T W、jqの先頭と末尾に(date +%F)を追加しようとしましたが、コンパイル時にエラーが発生しました。

+0

[MCVE](https://stackoverflow.com/help/mcve) – Thor

答えて

2

続行するには、2つの方法基本的にあります:あなたJQが十分に最近のものである場合

1)nowで始まる、JQの日時関数を使用し、さらなる詳細については

$ jq -n now 
1493069762.538462 

$ jq -n 'now|strftime("%Y-%m-%d")' 
"2017-04-24" 

を参照してくださいオンラインマニュアルの「日付」セクション:https://stedolan.github.io/jq/manual/

2)適切なコマンドラインオプションを使用して日付文字列をjqに渡します。

$ jq -n --arg date "$(date +%F)" '$date' 
"2017-04-24" 
関連する問題