我有以下输入数据:
-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
以格式显示,如下图:20171230
ls -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 语言环境之外生效