转换 stat 命令输出的日期格式

转换 stat 命令输出的日期格式

通过命令stat * --format='%A %h %U %G %s %z %n'我得到:

-rwxrwxrwx 1 myuser mygroup 131072 2021-11-12 14:52:23.495595927 +0100 myfile

是否有可能得到stat如下所示的输出?请注意,日期采用另一种格式。

-rwxrwxrwx 1 myuser mygroup 131072 Nov 12 14:52:23 2021 myfile

这类似于 的输出ls -l,但是在另一个帖子他们告诉我不要解析 的输出ls -l myfile,这就是为什么我问是否可以用 来解析 的输出stat

答案1

恐怕你需要将纪元的第二个输出通过管道传输到某个“转换器”中。喜欢

stat file --format='%A %h %U %G %s %Z %n' | { read A h U G s Z n; printf "%s %s %s %s %s %(%b %d %T %Y)T %s\n" $A $h $U $G $s $Z $n; }
-rw-rw-r-- 1 user user 21 Dez 30 14:17:03 2021 file

利用bash's %()T格式说明符来printf.

相关内容