
Tengo una lista de archivos JPG, cada uno ubicado en diferentes carpetas en mi servidor de línea de comandos únicamente, que necesito convertir a PNG.
Conozco el comando simple para convertirlos uno por uno usando mogrify. Pero tengo alrededor de 300 imágenes con diferentes nombres repartidas en todas las carpetas diferentes, así:
/home/user/dfp/app/roundtable/wp-content/uploads/2022/06/play.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2021/02/turn.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2020/01/up.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2022/09/down.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2021/01/left.jpg
etc etc
También hay miles de otras imágenes en cada uno de los directorios que no quiero que se modifiquen en absoluto. Solo los archivos específicos de mi lista.
¿Existe una forma sencilla de convertir por lotes o en masa la lista de imágenes que tengo? Literalmente tengo una lista de imágenes, como en el ejemplo anterior, en un archivo .txt.
Respuesta1
Puede utilizar un bucle de shell simple para leer y procesar los nombres de archivo del archivo de lista. En un bash
shell por ejemplo:
while IFS= read -r file; do
# your mogrify command on "$file"
done < path/to/listfile.txt
Puede ejecutarlo en la línea de comando interactiva de bash o como un script con el #!/bin/bash
shebang en la parte superior.