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: #!/bin/bash var=» prueba prueba prueba » echo «\»$var\»» var=»${var#»${var%%[![:space:]]*}»}» # elimina los espacios por delante var=»${var%»${var##*[![:space:]]}»}» … Sigue leyendo

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: function contiene() { local n=$# local value=${!n} for ((i=1;i < $#;i++)) { if [ «${!i}» == «${value}» ]; then echo «y» return 0 fi … Sigue leyendo

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: # Cadena … 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. eval «echo \»$(cat /ruta/a/la/plantilla)\»» Por ejemplo, podriamos … 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 : #!/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» … Sigue leyendo

Publicado en Unix - Linux | Deja un comentario

BASH – Cómo procesar múltiples argumentos de entrada en scripts para Bash

Podemos hacer bucles que recorran los argumentos de entrada de nuestro programa, por ejemplo: #!/bin/bash CONTADOR=0 for i in «$@» do let CONTADOR=$CONTADOR+1 echo «Argumento $CONTADOR: $i» done La parte del contador no es estrictamente necesaria, pero da un toque … Sigue leyendo

Publicado en Unix - Linux | Deja un comentario

BASH – Script para copiar y verificar la copia de archivos con MD5 en Solaris.-

#!/bin/bash echo «Verifico el tamaño del archivo local:» VAR1=`du -sk /ruta/al/archivo` echo «Copiando el archivo al servidor remoto:» scp /ruta/al/archivo server:/ruta/remota/al/archivo echo «Verifico el tamaño del archivo remoto:» VAR2=`ssh server du -sk /ruta/remota/al/archivo` echo «Verifico el md5 del archivo local:» … Sigue leyendo

Publicado en Unix - Linux | Deja un comentario

BASH – Script para matar multiples procesos en una sola linea.-

for i in `ps aux | grep «/tmp/prueba.sh» | awk ‘{print $2}’`; do kill -9 $i; done

Publicado en Unix - Linux | Deja un comentario

BASH – Listar archivos con ruta completa en linea de comandos.-

for i in `ls`; do echo $PWD/$i | grep -v 2014 | grep -v 2015 | grep -v 2016 | grep -v 2017 ; done

Publicado en Unix - Linux | Deja un comentario

BASH – Script para renombrar archivos (sencillo).-

#!/bin/bash # renombra.sh # renombrador de ficheros básico criterio=$1 expresion=$2 sustituto=$3 for i in $( ls *$criterio* ); do orig=$i dest=$(echo $i | sed -e «s/$expresion/$sustituto/») mv $orig $dest done

Publicado en Unix - Linux | Deja un comentario

BASH – Script ejemplo ciclo UNTIL

#!/bin/bash MAX_WAIT=80 DELAY=10 TOTAL_WAIT=0 until [ $TOTAL_WAIT -gt $MAX_WAIT ] do echo $TOTAL_WAIT sleep $DELAY let TOTAL_WAIT=$TOTAL_WAIT+$DELAY; done

Publicado en Unix - Linux | Deja un comentario