Ejecutar comandos con find en su propia carpeta
2012-02-05 08:13:33
El otro dia descubrí que uno de los cientos de parametros que acepta el find GNU le da la capacidad de ejecutar el comando usando como base el directorio en el que se encuentra el fichero, y no en el que se estaba cuando se ejecutó el propio comando find, que es el estandar y, como de costumbre, bastante inutil.
Dicho parametro es -execdir, y ahi os va un ejemplo:
find . -iname "*.rar" -execdir unrar x "{}" \;
Explicación: busca todos los archivos RAR en este directorio e hijos, y los descomprime en su propia carpeta, de forma que queda todo perfectamente ordenado.
Ahora a investigar como hacer que los RAR se borren tras una descompresion satisfactoria.