Personalizar formato de data "tar --list"

1

Esta é a saída do tar ao listar arquivos em um tarball:

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

Existe alguma maneira de personalizar o formato de data para imprimir segundos de época de alta resolução, como "1537492797.82289"?

A versão do tar é:

> tar --version
tar (GNU tar) 1.23
    
por Elle Fie 27.09.2018 / 21:21

1 resposta

0

Não, não há nenhum, pelo menos não com o gnu tar.

Veja como a data é formatada ( tartime() em 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;
  }

E aqui está como o cabeçalho do arquivo é impresso ( simple_print_header() em tree/src/list.c ):

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