converta as datas para um formato padrão

1

Estou usando este comando

find -name (file name) -ls | awk '{print $11,"\t",$5,"\t",$7,"\t",$8,$10}' 

para reunir informações de vários arquivos. No entanto, alguns arquivos estão nos dando números estranhos, onde a data deveria ser, se os arquivos forem modificados em 2018. queria saber se você tem alguma sugestão sobre isso para converter esses números para o formato padrão, ou seja, maio de 2016, maio de 2017, maio de 2018. nenhum problema com a saída de arquivos que foram modificados antes de 2017.

Existe alguma maneira de obter uma saída com o ano atual nesse formato, como em maio de 2018?

    
por Jason 14.09.2018 / 03:20

2 respostas

2

Como você está usando o Linux, pode usar o argumento -printf para o comando find :

find -name 'pattern' -printf '%p\t\t%Tb %TY\n'

Exemplo de saída:

$ find -name 'file*' -printf '%p\t\t%Tb %TY\n'
./file1     Sep 2018
./file6     Sep 2018
./file4     Sep 2018
./file2     Sep 2018
./file3     Sep 2018
./file5     Sep 2018
    
por 14.09.2018 / 04:04
-1

experimente este comando.

find . -name (file name) | xargs ls -l --time-style="+%b %Y" | awk '{print $NF,$3,$5,$6,$7}' OFS="\t"

ls -l --time-style="+%b %Y" é usado para alterar o estilo de tempo para MMM AAAA na saída ls.

    
por 14.09.2018 / 03:35