我有这个来获取目录的时间戳:
stat -c %Y directory_name
我可以通过什么管道来获得这样的日期格式?
20220201
答案1
这stat -c %Y
是特定于stat
.如果stat
您的 Solaris 计算机上有 GNU,那么您很可能也会有 GNU,find
您可以执行以下操作:
gfind dir -prune -printf '%TY%Tm%Td\n'
您可能还会有 GNU date
,您可以使用它执行以下操作:
gdate -r dir +%Y%m%d
(但请注意, ifdir
是符号链接,它会给您其目标的修改时间,而不是符号链接本身)。
Solaris 还附带了zsh
它自己的stat
内置函数(早在stat
实用程序被添加到 GNU coreutils 之前就已经有了),您可以在其中执行以下操作:
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