Una vez escribí un artículo sobre cómo cambiarle la resolución a un grupo de imágenes y todo se basaba en usar el FOR, el problema es que falla si los archivos tienen algún espacio en su nombre; afortunadamente todo tiene una solución: lo que debemos hacer es crear la variable llamada IFS, en la que se establece cuál es el separador entre un elemento y el otro (por ejemplo un espacio, etc..) a continuación dejo un ejemplo sencillo:

#!/bin/bash
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for f in *
do
echo "$f"
done
IFS=$SAVEIFS

Si ejecutamos ese comando dentro de una carpeta que tiene archivos cuyos nombres contienen espacios, veremos una lista del contenido (es lo que hace el echo.) De aquí es fácil adaptarlo a nuestras necesidades.

Más ejemplos en Ciberciti

A %d blogueros les gusta esto: