명령 결과의 epoch 날짜 출력을 사람이 읽을 수 있는 형식으로 변환합니다.

명령 결과의 epoch 날짜 출력을 사람이 읽을 수 있는 형식으로 변환합니다.

이 문제를 해결하려고 노력했지만 혼란스럽습니다... 내가 찾은 명령을 추론하려고 합니다.파일의 에포크 타임스탬프를 다른 형식으로 바꾸려면 어떻게 해야 합니까?, 하지만 아직 받을 수 없습니다.

내 시스템에는 데이터베이스에서 값을 읽는 명령이 있는데, 읽을 수 있는 값 중 하나는 epoch 시간 형식입니다.

[user@Dreadnaught config]# dbviewer -t Isagraf5.Resource._1.CompileDate
1488303650

결과를 date 명령에 수동으로 복사하면 정상적으로 작동합니다.

[user@Dreadnaught config]$ date -d@1488303650
Tue Feb 28 17:40:50 UTC 2017

나는 이것을 얻고 싶다단일 명령으로(그래서 sh 스크립트를 로드하지 않고도 별칭 목록에 추가할 수 있습니다.) 첫 번째 명령의 결과를 두 번째 명령으로 옮기기 위해 다양한 방법을 시도했지만 알 수 없습니다. 내가 무엇을 놓치고 있나요?

다른 참조 질문에서 dbviwer 쿼리 결과를 date 명령에 연결했지만 실행하지는 않았습니다.

[user@Dreadnaught config]$ dbviewer -t Isagraf5.Resource._1.CompileDate | sed 's/^//; s/\([0-9]\{10\}\)/date -d @\1/;s/$//'
date -d @1488303650
[user@Dreadnaught config]$ . dbviewer -t Isagraf5.Resource._1.CompileDate | sed 's/^//; s/\([0-9]\{10\}\)/date -d @\1/;s/$//'
-ash: /usr/bin/dbviewer: line 1: syntax error: unexpected "("

당신의 도움을 주셔서 감사합니다...

답변1

alias dbdate='date -d@"$( dbviewer -t Isagraf5.Resource._1.CompileDate )"'

dbdate이제 별칭 으로 사용할 수 있습니다.

date -d@"$( dbviewer -t Isagraf5.Resource._1.CompileDate )"

명령이 실행되고 dbviewer -t Isagraf5.Resource._1.CompileDate호출 되며 date해당 출력이 @.

$(...)명령 대체입니다. 으로 대체됩니다 $(...).

관련 정보