2017-06-30 8 views
1
{ 
     "cluster_name" : "c", 
     "definition_name" : "hive_metastore_process", 
     "firmness" : "HARD", 
     "latest_timestamp" : 1498716914911, 
     "maintenance_state" : "OFF", 
     "original_timestamp" : 1498416757291, 
     "service_name" : "HIVE", 
     "state" : "CRITICAL", 
     } 
-- 
     : { 
     "cluster_name" : "c", 
     "definition_name" : "hive_server_process", 
     "firmness" : "HARD", 
     "latest_timestamp" : 1498716912904, 
     "maintenance_state" : "OFF", 
     "original_timestamp" : 1498419634610, 
     "service_name" : "HIVE", 
     "state" : "CRITICAL", 
     } 

私はoriginal_timestampを日付形式に更新しますか? Unixでの操作方法ユニークで特定のキーの値を更新

答えて

1

コマンドラインでjsonを扱う場合、jqはあなたの友人です。

% jq '.original_timestamp |= (./1000 | floor | todate)' <<EOJ 
{ 
    "cluster_name": "c", 
    "definition_name": "hive_metastore_process", 
    "firmness": "HARD", 
    "latest_timestamp": 1498716914911, 
    "maintenance_state": "OFF", 
    "original_timestamp": 1498716914911, 
    "service_name": "HIVE", 
    "state": "CRITICAL" 
} 
EOJ 
{ 
    "cluster_name": "c", 
    "definition_name": "hive_metastore_process", 
    "firmness": "HARD", 
    "latest_timestamp": 1498716914911, 
    "maintenance_state": "OFF", 
    "original_timestamp": "2017-06-29T06:15:14Z", 
    "service_name": "HIVE", 
    "state": "CRITICAL" 
} 
% 
+0

私が使用したくないJQ代わりに私はあなたのUNIXコマンドを使用して、日付形式にタイムスタンプを変換する方法を助けることができ、usisng UNIXコマンドをやりたいですか? – Jay

+0

jsonを解析できる標準のunixコマンドはありません。入力が非常にうまくいけば、おそらくawkで何かを構築することができます。 – user464502

関連する問題