Tar

自定義“tar –list”日期格式

  • September 30, 2018

這是在 tarball 中列出文件時 tar 的輸出:

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

有什麼方法可以自定義日期格式以列印出高解析度的紀元秒數,例如“1537492797.82289”?

焦油的版本是:

> tar --version
tar (GNU tar) 1.23

不,沒有,至少在 gnu tar 中沒有。

這是日期的格式(tartime()in 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()in tree/src/list.c):

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

引用自:https://unix.stackexchange.com/questions/471915