自定义“tar --list”日期格式

自定义“tar --list”日期格式

这是在 tarball 中列出文件时 tar 的输出:

> tar zvtf my.tar.gz
-rw-rw-r-- myuser/mygroup  2363 2018-05-03 15:45 test.txt

有没有办法自定义日期格式以打印高分辨率纪元秒,例如“1537492797.82289”?

tar 的版本是:

> tar --version
tar (GNU tar) 1.23

答案1

不,没有,至少 gnu tar 没有。

以下是日期的格式(tartime()tree/src/list.c

if (tm)
  {
    if (full_time)
        {
        strftime (buffer, sizeof buffer, "%Y-%m-%d %H:%M:%S", tm);
        code_ns_fraction (ns, buffer + strlen (buffer));
        }
    else
        strftime (buffer, sizeof buffer, "%Y-%m-%d %H:%M", tm);
    return buffer;
  }

这是文件头的打印方式(simple_print_header()tree/src/list.c):

fprintf (stdlis, "%s %s/%s %*s %-*s",
         modes, user, group, ugswidth - pad + sizelen, size,
         datewidth, time_stamp);

相关内容