이 문제를 해결하려고 노력했지만 혼란스럽습니다... 내가 찾은 명령을 추론하려고 합니다.파일의 에포크 타임스탬프를 다른 형식으로 바꾸려면 어떻게 해야 합니까?, 하지만 아직 받을 수 없습니다.
내 시스템에는 데이터베이스에서 값을 읽는 명령이 있는데, 읽을 수 있는 값 중 하나는 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
해당 출력이 @
.
$(...)
명령 대체입니다. 으로 대체됩니다 $(...)
.