stat 명령에서 날짜 문자열을 얻는 방법은 무엇입니까?

stat 명령에서 날짜 문자열을 얻는 방법은 무엇입니까?

디렉토리의 타임스탬프를 얻으려면 다음이 필요합니다.

stat -c %Y directory_name

이러한 날짜 형식을 얻으려면 어떤 파이프라인을 거쳐야 합니까?

20220201

답변1

이는 stat -c %Y에만 해당됩니다 stat. statSolaris 시스템에 GNU가 있는 경우 GNU도 있을 가능성이 높으며 find다음을 수행할 수 있습니다.

gfind dir -prune -printf '%TY%Tm%Td\n'

date다음을 수행하는 데 사용할 수 있는 GNU 가 있을 수도 있습니다 .

gdate -r dir +%Y%m%d

(그러나 dir심볼릭 링크인 경우 심볼릭 링크 자체가 아닌 대상의 수정 시간을 제공합니다.)

또한 Solaris에는 다음을 수행할 수 있는 zsh자체 stat내장 기능(유틸리티가 GNU coreutils에 추가되기 오래 전 )이 함께 제공됩니다.stat

zmodload zsh/stat
stat -LF %Y%m%d +mtime dir

답변2

date --date=@$(stat -c %Y directory_name) +%Y%m%d

답변3

다음과 같이 날짜 명령에 이를 포함할 수 있습니다.

date -d "@$(stat -c %Y directory_name)" +%Y%m%d

stat -c하지만 GNU 확장은 다른 곳에서는 작동하지 않는다는 점에 유의하세요 ...

답변4

이 시도 printf:

$ printf '%(%Y%m%d)T\n' "#$(stat -c %Y dir)"
20220127

관련 정보