Unfolder e busca cronologicamente no Ubuntu?

0

Eu tenho um Ubuntu 14.04.5 LTS com muitas pastas e arquivos. Meu objetivo é encontrar alguns arquivos antigos que eu acho que eu sei um formato de nomenclatura para eles dizer "% A% .csv" ou ".csv" ou ".xls".

De qualquer forma eu quero de alguma forma "desdobrar" tudo e exibir cronologicamente o nome do arquivo + data + detalhes (tamanho etc).

Em outras palavras, sem fisicamente desdobrar todo o diretório, mas logicamente qual comando devo usar para gravar no arquivo txt todos os nomes de arquivos com seus parâmetros em ordem cronológica? Por favor, informe.

Alguns exemplos para o que preciso:

  1. Uma pasta que contém 140 subpastas e cada uma tem 3 subpastas com arquivos. Finalmente você obtém todas as folhas (arquivos) e o que eu quero é "desdobrá-las - extrair todos os arquivos fora de todas as pastas e classificá-los cronologicamente e escrever seus nomes + tamanho + dados criados + data modificada para um arquivo txt. Tudo sem física desdobramento.

  2. A unidade C contém algumas pastas, essas pastas contêm arquivos e subpastas, etc. Quero extrair todos os seus arquivos para obter seus metadados e gravá-los em um arquivo txt. Como posso fazer isso sem desdobrar-me fisicamente?

por Prof. Peter Carter 25.10.2017 / 09:35

1 resposta

0

Use o comando find . Exemplo de encontrar recursivamente todos os arquivos terminados em .csv do diretório atual:

find . -name "*.csv" -type f -exec ls -lh {} \; > result.txt

Repartição do comando:

  • . : significa o diretório principal, um ponto significa o diretório atual onde o comando é usado.
  • -name "*.csv" : encontra todos os arquivos (e diretórios) terminando em .csv .
  • digite f: considere apenas arquivos. Para apenas diretórios, use d , para ambos removerem esta parte.
  • -exec ls -lh {} \; : exeita o comando ls -lh em todos os arquivos encontrados. Isto irá listar informações sobre eles. Outro comando pode ser usado aqui.
  • > results.txt : escreve o resultado em um arquivo results.txt em vez de imprimi-lo na tela.

O comando ls -lh fornece um resultado semelhante a este, e é isso que é gravado no arquivo também:

    
por 25.10.2017 / 10:48