Encontre arquivos mais antigos que um determinado arquivo - algumas horas

1

Estou usando o seguinte para encontrar todos os arquivos que são mais antigos que um arquivo de referência ...

find /home/testuser -name "dummyfiles*" ! -newer referencefile.txt

... que funciona como esperado.

No entanto, quero adicionar um pouco de clemência ao tempo, para que ele só encontre arquivos mais antigos que o arquivo de referência - algumas horas.

Por exemplo, se eu tiver um arquivo de referência com a data de modificação May 26 11:26 , quero encontrar arquivos mais antigos que May 26 9:26 (ou seja, com uma clemência de 2 horas no arquivo de referência).

Neste exemplo, as correspondências corretas seriam as seguintes ...

May 26 7:00
Apr 15 14:00

... e o seguinte deve não corresponder ...

Jun 13 9:00
May 26 10:00

Por fim, quero excluir todos os arquivos que encontrar. Por isso, adoraríamos se find fosse capaz de lidar com esse requisito? Caso contrário, existem outras alternativas que me permitam excluir esses arquivos sem ser muito complicado?

    
por wattostudios 29.10.2015 / 01:19

1 resposta

0

Experimente com isto:

find /home/testuser -name "dummyfiles*" ! -newer referencefile.txt -mmin +120 -print

adicionar o comando -mmin +120 find do parâmetro retornará apenas os arquivos com mais de 2 horas em comparação com a data de modificação do referencefile.txt.

teste:

mkdir find
touch find/dummyfiles1 find/dummyfiles2 find/dummyfiles3 find/dummyfiles4 find/referencefile.txt
touch -t 8001031305 dummyfiles1 dummyfiles2
find find/ -name "dummyfiles*" ! -newer find/referencefile.txt -mmin +120

saída:

find/dummyfiles1

find/dummyfiles2

    
por 29.10.2015 / 03:07

Tags