Mostrando entradas con la etiqueta bash linux sustitucion parametros. Mostrar todas las entradas
Mostrando entradas con la etiqueta bash linux sustitucion parametros. Mostrar todas las entradas

Sustitución de parámetros

Los sistemas Linux y otros Unix traen las típicas herramientas como cut, awk y sed para reemplazar o recortar partes de una variable, pero los verdaderos "gurus" utilizan la sustitución de parámetros. Vamos a explicar esto en varios pasos:

1-) Las variables pueden ser referenciadas con $var o con ${var}
VAR='lorem ipsum';
echo $VAR;
echo ${VAR};
2-) La longitud de una variable la obtenemos con ${#VAR}
echo ${#VAR} -> 1
3-) Obtenemos un substring de la variable con ${VAR:POS}
echo ${VAR:6} -> ipsum
4-) También podemos obtener un substring del tamaño que deseamos con ${VAR:POS:LON}
echo ${VAR:0:6} -> lorem
5-) Si deseamos dividir según un patrón de izquierda a derecha utilizamos ${var#pat} o ${var##pat}
VAR2='lorem,ipsum.,datum.sanctum'
echo ${var2#*,} -> ipsum.,datum.sanctum
echo ${var2##*,} -> datum.sanctum
6-) De derecha a izquierda es ${var%pat} o ${var%%pat}
echo ${var2%,*} -> lorem,ipsum.
echo ${var2%%,*} -> lorem
7-) La sustitución es igual de sencilla ${var/pat/ree} o ${var//pat/ree}
echo ${var2/m/M} -> loreM,ipsum.,datum.sanctum
echo ${var2//m/M} -> loreM,ipsuM.,datuM.sanctuM
OK? Un uso muy interesante de todo esto? Por ejemplo, para renombrar muchos ficheros de IMAGEN a imagen:
for i in *
do
mv ${i} ${i/IMAGEN/imagen}
done
Magia!