Listagem de arquivos recursivamente com tempo modificado em formato de árvore

3

Estou procurando um comando único para listar todos os arquivos recursivamente a partir de um determinado diretório, juntamente com seu horário modificado. Também seria bom se ele pudesse produzir a saída em um formato de árvore, como produzido pelo comando árvore .

OBSERVAÇÃO: estou rodando a versão 5 do Red Hat Enterprise Linux Server.

EDITAR: A opção -D do comando árvore imprime somente a parte da data da última modificação para os últimos anos, embora exibir a data com o horário para ano atual . Aqui, neste caso, eu estou esperando para imprimir data com o tempo para os últimos anos também.

    
por Gnanam 10.10.2011 / 11:07

3 respostas

5

I'm looking for a single command to list all files recursively from a given directory along with its modified time.

$ find /path/to/folder -type f -print0 | xargs -0 ls -l --time-style="+%F %T"

It would also be nice if it can produce output in a tree-like format as produced by tree command. In my case, precision upto minutes is enough.

Na minha opção CentOS, Gentoo, ... -D já é mostrada em minutos:

$ tree -D
.
├── [Jul 26 14:41]  LICENSE
├── [Jul 26 14:41]  manifests
│   ├── [Oct 10 16:30]  defines
│   │   └── [Jul 26 14:41]  redis source.pp
│   └── [Jul 26 14:41]  init.pp
├── [Jul 26 14:41]  README
└── [Jul 26 14:41]  templates
    ├── [Jul 26 14:41]  redis.conf.erb
    └── [Jul 26 14:41]  redis-server.erb

3 directories, 6 files
    
por 10.10.2011 / 11:18
1

Este comando lista recursivamente todos os arquivos em um determinado diretório com sua hora de modificação completa:

ls -Rl --time-style=long-iso /path/to/directory

Não há saída semelhante a tree em ls , mas isso é muito próximo.

    
por 10.10.2011 / 11:43
0

talvez este possa ser um ponto de partida para a sua solução:

\tree -nf  | awk '{printf $0} {system("stat -c \" [ %y ]\" " $NF )}'| sed -e 's#\([0-9][0-9]:[0-9][0-9]:[0-9][0-9]\).*# ]#g'  2>/dev/null
    
por 01.12.2011 / 15:52