将今天的日期添加到CSV中,同时使用JQ将JSON转换为CSV

时间:2017-04-24 21:06:45

标签: json shell date csv jq

我有一个来自ElasticSearch的JSON结果,我用jq解析并从JSON中检索我需要的值并将其展平为CSV。来自JSON文件的字段中没有日期。我需要能够将特定日期写为CSV的每一行中的第一个值。

date +%F

例如,在每一行中,我想在UUID,Sitename和Jar值之前写出date +%F的输出。有可能吗?

B T W,我尝试在jq的开头和结尾添加(<% @comments.each do |comment| %> <tr> <%= @cId = comment.store_id %> <td><%= Store.find(@cId).title %></td> <td><%= comment.description %></td> <% end %> )并得到编译时错误。

1 个答案:

答案 0 :(得分:2)

基本上有两种方法可以继续:

1)如果您的jq足够新,请使用jq的时间和日期函数,从now开始:

$ 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"