Si te gusta este contenido, se agradece tu apoyo en su mantenimiento. Cualquier cantidad por pequeña que sea será bien recibida.
Muchas gracias.
Comentarios recientes
- Gonzalo Reiser A. en BASH – Script MENU en colores (Sencillo).
- Monty en BASH – Script MENU en colores (Sencillo).
- Gonzalo Reiser A. en BASH – SCRIPT para monitoreo de archivo LOG.-
- Gonzalo Reiser A. en BASH – SCRIPT para monitoreo de archivo LOG.-
- Victor Hugo en BASH – SCRIPT para monitoreo de archivo LOG.-
Archivos
- diciembre 2024 (1)
- noviembre 2024 (2)
- agosto 2024 (1)
- julio 2024 (12)
- enero 2024 (10)
- diciembre 2023 (1)
- noviembre 2023 (10)
- septiembre 2023 (5)
- agosto 2023 (10)
- junio 2023 (3)
- mayo 2023 (4)
- abril 2023 (10)
- febrero 2023 (3)
- enero 2023 (1)
- diciembre 2022 (2)
- noviembre 2022 (1)
- agosto 2022 (4)
- julio 2022 (1)
- junio 2022 (4)
- febrero 2022 (9)
- abril 2021 (1)
- enero 2021 (3)
- diciembre 2020 (2)
- noviembre 2020 (2)
- octubre 2020 (1)
- septiembre 2020 (4)
- agosto 2020 (1)
- julio 2020 (1)
- junio 2020 (5)
- mayo 2020 (12)
- abril 2020 (1)
- enero 2020 (1)
- noviembre 2019 (5)
- octubre 2019 (4)
- septiembre 2019 (1)
- agosto 2019 (1)
- julio 2019 (11)
- junio 2019 (1)
- julio 2018 (3)
- octubre 2017 (1)
- septiembre 2017 (2)
- agosto 2017 (3)
- julio 2017 (11)
- mayo 2017 (6)
- abril 2017 (3)
- marzo 2017 (7)
- febrero 2017 (1)
- diciembre 2016 (3)
- octubre 2016 (4)
- septiembre 2016 (2)
- agosto 2016 (10)
- julio 2016 (9)
- junio 2016 (9)
- mayo 2016 (27)
- abril 2016 (10)
- marzo 2016 (15)
- enero 2016 (3)
- diciembre 2015 (7)
- octubre 2015 (2)
- septiembre 2015 (3)
- agosto 2015 (9)
- julio 2015 (11)
- junio 2015 (22)
- mayo 2015 (7)
- abril 2015 (22)
- marzo 2015 (5)
- febrero 2015 (2)
- enero 2015 (10)
- diciembre 2014 (7)
- noviembre 2014 (3)
- octubre 2014 (2)
- septiembre 2014 (4)
- agosto 2014 (22)
- julio 2014 (15)
- junio 2014 (8)
- mayo 2014 (6)
- abril 2014 (10)
- marzo 2014 (15)
- febrero 2014 (3)
- enero 2014 (15)
- diciembre 2013 (11)
- noviembre 2013 (25)
- octubre 2013 (46)
- septiembre 2013 (30)
Archivo mensual: julio 2017
BASH – Eliminar espacios en blanco sobrantes de una variable. (Espacios adelante y atras)
Eliminar los espacios por delante y por detrás, pero no por dentro, directamente dentro del script Bash, el código resultante es un poco confuso:
1 2 3 4 5 6 |
#!/bin/bash var=" prueba prueba prueba " echo "\"$var\"" var="${var#"${var%%[![:space:]]*}"}" # elimina los espacios por delante var="${var%"${var##*[![:space:]]}"}" # elimina los espacios por detras echo "\"$var\"" |
Al ejecutar este script el resultado que nos mostrara sera el siguiente :
1 2 |
" prueba prueba prueba " "prueba prueba prueba" |
Publicado en Unix - Linux
Deja un comentario
BASH – Cómo comprobar si un array de bash contiene un elemento.-
Lamentablemente no existe ninguna manera sencilla de hacerlo, pero sí que puedes utilizar la siguiente función:
1 2 3 4 5 6 7 8 9 10 11 12 |
function contiene() { local n=$# local value=${!n} for ((i=1;i < $#;i++)) { if [ "${!i}" == "${value}" ]; then echo "y" return 0 fi } echo "n" return 1 } |
Y así es como podrías utilizarlo:
1 2 3 4 5 6 7 8 9 10 11 |
# definimos un array con tres elementos A=("one" "two" "three four") # comprobar si el array contiene los elementos if [ $(contiene "${A[@]}" "one") == "y" ]; then echo "contiene el elemento 'one'" fi if [ $(contiene "${A[@]}" "three") == "y" ]; then echo "contiene el elemento 'three'" fi |
Publicado en Unix - Linux
Deja un comentario
BASH – Manejo de cadenas de texto.
A veces se encuentran ciertas limitaciones a la hora de escribir scripts de shell en el manejo de cadenas y es que, muchas veces, nos olvidamos de que bash tiene un montón de operaciones sobre strings. Por ejemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# Cadena de ejemplo: string=123.abc.456.ABC.123 # Ver la longitud de la cadena $ echo ${#string} 19 # Extraer subcadena desde una posicion $ echo ${string:4} abc.456.ABC.123 # Extraer subcadena de longitud determinada # desde una posicion $ echo ${string:4:7} abc.456 # Eliminar la cadena coincidente del principio de la cadena $ echo ${string#123} .abc.456.ABC.123 # Eliminar la cadena coincidente del final de la cadena $ echo ${string%123} 123.abc.456.ABC. # Reemplazar la primera aparación de una subcadena en la cadena $ echo ${string/123/QWE} QWE.abc.456.ABC.123 # Reemplazar todas las apariciones de una subcadena en la cadena $ echo ${string//123/QWE} QWE.abc.456.ABC.QWE # Reemplazar si hay coincidencia al pricipio o al final de la cadena: $ echo ${string/#123/QWE} QWE.abc.456.ABC.123 $ echo ${string/%123/QWE} 123.abc.456.ABC.QWE # Longitud de la coincidencia al principio de la cadena (dos formas) $ expr match "$string" '123' 3 $ expr "$string" : '123' 3 |
Otra … Sigue leyendo
Publicado en Unix - Linux
4 comentarios
BASH – Usar ficheros de plantillas (templates) con Bash Script.-
Si tenemos ficheros de plantillas en los que hemos definido algunas variables y queremos obtener el fichero tras aplicar la sustitución de las variables, podriamos emplear el comando “eval” de la siguiente manera.
1 |
eval "echo \"$(cat /ruta/a/la/plantilla)\"" |
Por ejemplo, podriamos tener un fichero … Sigue leyendo
Publicado en Unix - Linux
Deja un comentario
BASH – Script ejemplo array asociativo.-
Para poder trabajar con arrays asociativos, se debe tener instalado version 4 o superior de BASH :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#!/opt/csw/bin/bash #DEclarar un array asociativo declare -A capital #Esta es una fomra de llenar el array capital=([UK]="London" [Japan]="Tokyo") #Esta es otra capital[Germany]="Berlin" capital[China]="Beijing" #Para agregar datos a un array capital+=([Belgium]="Brussels" [Egypt]="Cairo") #Muestra el numero de elementos del array echo "Size: ${#capital[@]}" #Para mostrar la capiotal de Alemania echo "Capital de Alemania : ${capital[Germany]}" #Iterar sobre el array mostrando la clave y su valor echo "Pais -> Capital" for country in "${!capital[@]}" do echo "$country -> ${capital[$country]}" done |
Al ejecutra este script, nos mostyrara el siguiente resultado
1 2 3 4 5 6 7 8 9 |
Size: 6 Capital de Alemania : Berlin Pais -> Capital UK -> London Germany -> Berlin Belgium -> Brussels China -> Beijing Japan -> Tokyo Egypt -> Cairo |
Publicado en Unix - Linux
Deja un comentario