viernes, 29 de mayo de 2009

Cómo encontrar archivos en su ordenador con "find"

A raíz de los problemas con tracker, me planteo el desinstalarlo. No sólo por los problemas sino principalmente por los recursos que consume.
sudo aptitude remove tracker tracker-search-tool tracker-utils
Cómo encontrar archivos sin tracker? La solución es find.

Si necesita más detalles, le recomiendo leer el manpage de find. ( man find
 en la terminal)
1. Búsqueda básica:
La sintaxis por defecto de find es:
find [path] [expression]
donde path es la ruta utilizada como patrón para la búsqueda y expression, la expresión que queremos que coincida con el archivo.
2. Búsqueda basada en el nombre de archivo:
Por ejemplo, si quieres encontrar todos los archivos .avi en los directorios home de los usuarios, se pueden encontrar con el siguiente comando:
find /home -name '*.avi'
Si desea buscar *.mpg y *.avi, utilizamos el texto siguiente:
find /home -name '*.mpg' -o -name '*.avi'
Búsquedas sensibles a mayúsculas y minúsculas con el modificador -iname:
find /home -iname '*.mpg' -o -iname '*.avi'
3. Añadiendo más criterios
Podemos reducir la búsqueda añadiendo criterios como el tamaño del archivo y/o la fecha de modificación.
Buscar archivos .avi de más de 700MB:
find /home/ -name '*.avi' -a -size +700M
Buscar el subconjunto de archivos que se modificaron en menos de 15 días:
find /home/ -name '*.avi' -a -size +700M -mtime -15
4. Añadiendo algunas acciones
Podemos encontrar los ficheros basados en un subconjunto de criterios.
O aún mejor, aplicar algunas medidas en dichos archivos. Acción que se puede hacer con el uso de -exec.
Ahora podemos encontrar .avi con menos de 15 días y los vamos a mover a otro directorio: /home/usuario/pelis
Considero que este directorio existe en el sistema.
find /home/ -name '*.avi' -a -size +700M -mtime -15 -exec mv '{}' /home/usuario/pelis/ \;
Fíjese en el uso de '{}' y \; (hay un espacio antes de \;).
'{}' coincide con el archivo que se encontró, mientras que \; termina el enunciado exec.
5. "find" es una potente herramienta con un amplio conjunto de enunciados.
Este artículo se refiere sólo un pequeño subconjunto de características disponibles. Para más información sobre el comando find lea su manual (manpage).
Editado marzo2011: Ver

Uso de -exec en el Comando Find

No hay comentarios: