Monthly Archive for Marzo, 2009

Cómo renombrar directorios

Cuando estamos trabajando en la terminal (o consola, etc.) no existe un comando específico para renombrar un directorio o archivo. Lo mejor es usar el comando mv que se usa para mover archivos. Entonces, si queremos renombrar, por ejemplo, archivo.dat a nombre.dat, debemos escribir:

$ mv archivo.dat nombre.dat

También sirve para renombrar muchos archivos. Por ejemplo, si descargamos fotos de nuestras vacaciones en una carpeta, y queremos que todos se llamen ##-Vacaciones-2009.jpg (por ejemplo) podemos hacer lo siguiente:

$ I=1
$ for IMG in `ls *.jpg`;
> do
> mv $IMG I-Vacaciones-2009.jpg ;
> I=$(($I+1)) ;
> done

En la primer linea creamos la variable I, que para usarla se deberá invocar como $I. Luego, el for hace el resto de la magia.

Para renombrar un directorio el mecanismo es exactamente el mismo. Si tengo directorio1 y quiero llamarlo directorio2 simplemente escribo lo siguiente:

$ mv directorio1 directorio2

De esta manera se puede usar el comando para mover archivos (mv) para renombrarlos.

Cómo cambiar la resolución de muchas imágenes

En mi último viaje saqué aproximadamente 1000 fotos, que a unos 4MB por foto hacen un total de 4GB. Eso sería imposible de cargar en un tiempo razonable, así que se me ocurrió cambiarle la resolución a las imágenes para que ocuparan menos y como hacerlo uno por uno llevaría una eternidad, pensé en hacerlo automáticamente.

Primero tenemos que instalar Imagemagick, que en Ubuntu puede hacerse directamente con:

sudo apt-get install imagemagick

Este es el programa que permitirá la conversión de las imágenes en sí. El siguiente paso es ir a la carpeta donde están las fotos y escribir lo siguiente:

for IMG in `ls *.jpg`;
do
convert -sample 60%X60% -quality 85 $IMG reducido-$IMG;
done

En la primer linea, lo que se hace es buscar todos los archivos que tengan extensión jpg (cuidado que distingue de mayúsculas y minúsculas, o sea que podría ser JPG.) A esos archivos los guarda en la variable $IMG (en el for no hay que poner el $.) Luego, convert es el comando de Imagemagick; podemos elegir a qué porcentaje queremos reducir las fotos y con qué calidad. Los otros 2 parámetros son el archivo que estamos modificando y cómo queremos llamarlo. ¡Tengan cuidado de no sobreescribir los archivos originales a menos que quieran!.

Esta simplicidad es la que me hace adorar cada vez más a Linux y su linea de comandos.