Capítulo 17. Tareas administrativas y de limpieza

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Estas recetas cubren tareas que surgen al utilizar o administrar ordenadores. Se presentan aquí porque no encajan bien en ninguna otra parte del libro.

17.1 Renombrar muchos archivos

Problema

Quieres renombrar muchos archivos, pero mv *.foo *.bar no funciona. O quieres renombrar un grupo de archivos de forma arbitraria.

Solución

Presentamos un bucle sencillo para cambiar las extensiones de los archivos en la Receta 5.18; consulta esa receta para más detalles. Aquí tienes un ejemplo de bucle for:

for FN in *.bad
do
    mv "${FN}" "${FN%bad}bash"
done

¿Qué pasa con los cambios más arbitrarios? Por ejemplo, supongamos que estás escribiendo un libro y quieres que los nombres de archivo de los capítulos sigan un formato determinado, pero la editorial tiene un formato conflictivo. Podrías nombrar los archivos como chNN=Title=Author.odty luego utilizar un simple bucle for e introducir una sustitución del comando para renombrarlos:

for i in *.odt; do mv "$i" "$(echo "$i" | cut -d'=' -f1,3)"; done

Debate

Siempre debes utilizar comillas alrededor de los argumentos del archivo por si hay algún espacio. Mientras probábamos el código de la solución, también utilizamos echo y corchetes angulares para dejar muy claro cuáles eran los argumentos (también es útil utilizar set -x ). Cuando estuvimos muy seguros de que nuestro comando ...

Get Libro de cocina bash, 2ª edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.