使用“ls”时如何将文件日期转换为特定格式

使用“ls”时如何将文件日期转换为特定格式

我有以下输入数据:

-rw-rw-r--. 1 abmnyu abmnyu 0 Dec 30 07:06 ffd_in_imp_bus.dat
-rw-rw-r--. 1 abmnyu abmnyu 0 Dec 30 07:06 ffd_ik_imp_bus.dat

我在使用时需要Dec 30以格式显示,如下图:20171230ls -l

-rw-rw-r--. 1 abmnyu abmnyu 0 20171230 07:06 ffd_in_imp_bus.dat
-rw-rw-r--. 1 abmnyu abmnyu 0 20171230 07:06 ffd_ik_imp_bus.dat

答案1

如果您使用 GNU ls(这是 Linux 系统上的标准),它有一个--time-style可用于更改日期/时间格式的选项。

最接近您想要的内置格式是long-iso.

例如

$ ls -l --time-style=long-iso
total 1
-rw-r--r-- 1 cas cas 0 2017-12-30 21:26 ffd_ik_imp_bus.dat
-rw-r--r-- 1 cas cas 0 2017-12-30 21:26 ffd_in_imp_bus.dat

您还可以使用与 GNU 中相同的日期格式规范来使用自定义格式date

$ ls -l --time-style='+%Y%m%d %H:%M'
total 1
-rw-r--r-- 1 cas cas 0 20171230 21:26 ffd_ik_imp_bus.dat
-rw-r--r-- 1 cas cas 0 20171230 21:26 ffd_in_imp_bus.dat

man ls

--时间风格=风格

with -l,使用样式 STYLE 显示时间:full-iso, long-iso, iso, locale, 或+FORMAT

FORMAT 的解释类似于“日期”

如果 FORMAT 为FORMAT1<newline>FORMAT2,则 FORMAT1 适用于非最近的文件,FORMAT2 适用于最近的文件。

如果 STYLE 以 为前缀posix-,则 STYLE 仅在 POSIX 语言环境之外生效

相关内容