Encontre arquivos em todo o sistema criados dentro de um intervalo de datas [duplicado]

0

Alguém pode me informar como usar a linha de comando para encontrar arquivos em todo o sistema (da raiz) que são criados dentro de um período específico?

Muito obrigado

    
por Kevin Zhang 30.12.2013 / 13:43

2 respostas

1

Se você está no GNU / Linux, algo assim deveria fazer, por exemplo:

find / -newerct 20130409 ! -newerct 20140509

Nos sistemas BSD, você pode fazer algo assim para o mesmo efeito:

touch -t 201304090000 /tmp/mark.start
touch -t 201405090000 /tmp/mark.end
find / -newer /tmp/mark.start ! -newer /tmp/mark.end

Acho que isso também funcionará no Solaris, mas não posso testá-lo agora.

    
por 30.12.2013 / 13:51
1

Você acreditaria com o comando find ?

A versão padrão do find apenas suporta carimbos de data e hora relativos a algum datum - um arquivo existente ou um offset relativo a 'now', mas se você quiser encontrar arquivos com timestamps explicitamente entre 2 datums então você pode criar arquivos com timestamps usando toque, então ...

 touch -t 20131120000000 /tmp/fromdate
 touch -t 20131221000000 /tmp/todate
 find / -type f -newer /tmp/fromdate ! -newer /tmp/todate -exec ls -l {}\;
    
por 30.12.2013 / 13:54