Argumento no válido al ejecutar el comando 'buscar' con -exec y -mtime

Argumento no válido al ejecutar el comando 'buscar' con -exec y -mtime

Apareció un mensaje de error bastante extraño en Centos.

Intenté ejecutar este comando:

find /tmp/something -type f -mtime +2h -exec cp '{}' /tmp/target \;

Y el error que tengo:

find: invalid argument `-exec' to `-mtime'

¿Puede el 'hallazgo' ser diferente en otras distribuciones?

Respuesta1

-mtimese usa por días, si necesitas 2 horas mira esto:

find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \;

mmin especifica los minutos, por lo que -mmin +120 filtrará aquellos de hace más de 120 minutos (2 horas). Del manual:

-mtime sustantivo, masculino—

Los datos del archivo se modificaron por última vez hace n*24 horas. Consulte los comentarios de -atime para comprender cómo el redondeo afecta la interpretación de los tiempos de modificación de archivos.

-mmin sustantivo, masculino—

Los datos del archivo se modificaron por última vez hace n minutos.

Respuesta2

la findimplementación en MacOS es un poco diferente a la disponible en Linux. Creo que recibió el error anterior en un sistema Linux.

En Linux, mtimesólo acepta +- y un número. El número es el número de días.

Para lo que quieres hacer arriba tienes que usarmmin

-mmin n
      File’s data was last modified n minutes ago.

Este comando debería funcionar en Linux:

find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \;

información relacionada