Usando find -mmin para localizar arquivos com hora de modificação no futuro

8

eu posso usar

find . -mmin -5

para encontrar arquivos alterados nos últimos 5 minutos. No entanto, se eu tentar encontrar arquivos com hora de modificação no futuro, dando um número negativo find se recusa a fazê-lo:

find . -mmin --1

Existe uma maneira de dar tempo de modificação futura ao Linux padrão find ?

    
por Muxecoid 24.04.2012 / 16:17

1 resposta

9

Para encontrar arquivos modificados pelo menos 5 dias no futuro, use:

find . -newermt "5 days"

A sintaxe para a especificação de horário corresponde àquela para date -d . Veja man find para informações sobre o switch chamado -newerXY para mais informações.

Não é possível usar, e. -mmin para fazer isso. Foi relatado como um bug contra o GNU e foi resolvido com a implementação de -newerXY em findutils 4.3.3 (~ 2007) como eu mostrei acima.

Aparentemente, não foi o GNU find que foi usado, mas o BusyBox.

Em seguida, você poderá criar um arquivo temporário com touch -d e uma data no futuro e, em seguida, usar a opção -newer para find , como:

touch -d "+5 days" tmpfile
find . -newer tmpfile

BusyBox touch não suporta esse formato de data, mas o princípio é o mesmo e seu find suporta -newer . Criar o arquivo de referência com uma data correta é deixado como um exercício para o leitor (sempre conveniente escrever).

    
por 24.04.2012 / 16:37

Tags