strftime
エラーが発生して数値である必要があるため、数値に変換する必要がある文字列タイムスタンプキーがあります。
journalctl -n1 --output=json | jq '.__REALTIME_TIMESTAMP | tonumber |= (. / 1000 | strftime("%Y-%m-%d")), .MESSAGE'
しかし、間違ったパス表現エラーが発生します。私の構文が間違っていると思います。
__REALTIME_TIMESTAMP
私は最終的に人間が読める形式でキーとキーを表示したいと思いますMESSAGE
。
答え1
|=
あなたの意図が何であるかよくわかりません。
次のように動作します。
$ journalctl -n1 --output=json |
jq '(.__REALTIME_TIMESTAMP | tonumber/1000000 | strftime("%Y-%m-%d %H:%M:%S")), .MESSAGE'
"2023-11-11 21:44:27"
"[session uid=1000 pid=1420] Activation via systemd failed for unit 'gvfs-daemon.service': Unit gvfs-daemon.service is masked."
またはフォーマットされた/生の出力:
$ journalctl -n1 --output=json |
jq -r '(.__REALTIME_TIMESTAMP | tonumber/1000000 | strftime("[%Y-%m-%d %H:%M:%S]: ")) + .MESSAGE'
[2023-11-11 21:44:27]: [session uid=1000 pid=1420] Activation via systemd failed for unit 'gvfs-daemon.service': Unit gvfs-daemon.service is masked.