# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

Comando tr (unix): convertir mayúsculas a minúsculas y viceversa

Un truco rápido con el comando Unix tr, vamos a convertir las letras mayúsculas a minúsculas de un fichero.

Fichero test.txt:

$ cat test.txt
minusculas
MAYUSCULAS

Convertir mayúsculas en minúsculas del fichero test.txt:

$ cat test.txt | tr [:upper:] [:lower:]
minusculas
mayusculas

Convertir minúsculas en mayúsculas del fichero test.txt:

$ cat test.txt | tr [:lower:] [:upper:]
MINUSCULAS
MAYUSCULAS

Por supuesto, el comando tr nos ofrece muchas más opciones para transformación de carácteres, os dejo la ayuda del comando, recordad que en las páginas man hay mucha más información.

$ tr --help
Modo de empleo: tr [OPCIÓN]... CONJUNTO1 [CONJUNTO2]
Traducir, comprimir, y/o borrar caracteres de la entrada estándar,
escribiendo a la  entrada estándar.

  -c, -C, --complement    primer compliment SET1
  -d, --delete            borrar caracteres en SET1, no traducir
  -s, --squeeze-repeats   reemplazar cada secuencia de entradas de un caracter repetido
                            esta es una lista de SET1 con una sóla coincidencia
                            de ese caracter
  -t, --truncate-set1     primero truncar SET1 a la longitud de SET2
      --help     muestra esta ayuda y finaliza
      --version  informa de la versión y finaliza

Los CONJUNTOs se especifican como cadenas de caracteres. La mayoría se
representan a sí mismos.
Las secuencias válidas son las siguientes:

  \NNN            carácter con valor octal NNN (de uno a tres dígitos)
  \\              barra invertida
  \a              pitido audible (BEL)
  \b              espacio hacia atrás
  \f              salto de página
  \n              salto de línea
  \r              retorno de carro
  \t              tabulación horizontal
  \v              tabulación vertical
  CAR1-CAR2       todos los caracteres comprendidos entre CAR1 y CAR2 contados
                  en orden ascendente
  [CAR*]          en CONJUNTO2, copias de CAR hasta que se alcance la longitud
                  de CONJUNTO1
  [CAR*REPITE]    copia REPITE veces CAR; REPITE es octal si comienza con 0
  [:alnum:]       todas las letras y dígitos
  [:alpha:]       todas las letras
  [:blank:]       todos los espacios en blanco horizontales
  [:cntrl:]       todos los caracteres de control
  [:digit:]       todos los dígitos
  [:graph:]       todos los caracteres imprimibles, sin incluir el espacio
  [:lower:]       todas las letras minúsculas
  [:print:]       todos los caracteres imprimibles, incluyendo el espacio
  [:punct:]       todos los caracteres de puntuación
  [:space:]       todos los espacios en blanco horizontales y verticales
  [:upper:]       todas las letras mayúsculas
  [:xdigit:]      todos los números hexadecimales
  [=CAR=]         todos los caracteres que son igual que CAR

Se produce la traducción si no se especifican CONJUNTO1 y CONJUNTO2, siempre
y cuando no aparezca la opción -d. -t se puede usar sólo al traducir.
CONJUNTO2 se expande a la longitud de CONJUNTO1, repitiendo su último
carácter tantas veces como sea necesario.  Los caracteres que sobran en
CONJUNTO2 no se tienen en cuenta. Solamente se garantiza que [:lower:]
y [:upper:] sean expandidos en orden ascendente; si se usa en
CONJUNTO2 al traducir, sólo se pueden usar en parejas, para
especificar conversión a mayúsculas.  -s usa CONJUNTO1 si no se está
traduciendo ni borrando; si no, la compresión usa CONJUNTO2 después de
la traducción o el borrado.

Convertir imagenes .UIF a .ISO en Linux Ubuntu

Para convertir imagenes UIF (Universal Image Format) a ISO en un sistema Gnu/Linux como Ubuntu es necesario instalar una aplicación llamada UIF2ISO. UIF es un formato de compresión de imagenes creado por Magic ISO.

Lo primero que debemos hacer es instalar unas dependencias (zlib y openssl) de la aplicación:

sudo apt-get install zlib1g zlib1g-dev libssl-dev build-essential

Después descargamos la aplicación desde el sitio web del autor:

wget http://aluigi.altervista.org/mytoolz/uif2iso.zip

Y por último descomprimimos y compilamos UIF2ISO:

unzip uif2iso.zip
cd src
make
sudo make install

A la hora de convertir la imagen, es tan sencillo como:

uif2iso ejemplo.uif destino.iso

Cómo convertir una imagen VMware a Virtualbox

La mayoría de vosotros conoceréis estos dos sistemas de virtualización, VMWare y Virtualbox. En el caso de necesitar migrar una máquina virtual o imagen de un sistema de virtualización al otro, hay que hacer lo siguiente:

Instalar qemu:

sudo apt-get install qemu

Convertir la imagen VMWare a una imagen VirtualBox con qemu:

Migraremos la imagen centos.vmdk de VMWare al formato de imagen /tmp/centos.bin

qemu-img convert centos.vmdk /tmp/centos.bin

Finalmente usaremos VBoxManage para convertir el fichero de imagen .bin al nativo de virtualbox .vdi:

VBoxManage convertdd /tmp/centos.bin centos.vdi

Fuente en inglés | www.cyberciti.biz