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.