Quería ver todos los archivos modificados en los últimos 10 días y quién era su propietario, así que ingresé lo siguiente para darme una idea de cuántos resultados se obtendrían;
find . -maxdepth 1 -mtime -10
Entonces di la orden;
find . -maxdepth 1 -mtime -10 -exec ls -lh {} \;
Ambos comandos dan resultados muy diferentes, pero no entiendo por qué. ¿Alguien puede explicar qué está pasando y por qué producen resultados diferentes?
Respuesta1
Como no utiliza la opción -type f
, find
devolverá todas las carpetas y archivos. En el segundo comando, si se encuentra una carpeta, el comando ls -lh
enumerará su contenido, lo que generará más resultados que el primer comando.
$ find . -maxdepth 1 -mtime -10 | wc -l
63
$ find . -maxdepth 1 -mtime -10 -exec ls -lh {} \; | wc -l
313
Deberías usar:
find . -maxdepth 1 -type f -mtime -10
find . -maxdepth 1 -type f -mtime -10 -exec ls -lh {} \;
para enumerar archivos únicamente.