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 *.baddo
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.odt
y 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.