BASH – Script manejo de array (iteración arreglo).-

Al ejecutar el SCRIPT nos arrojara el siguiente resultado :

Publicado en Unix - Linux | Deja un comentario

LINUX – Uso del comando EVAL con ejemplo.-

El comando eval permite la realización de una doble evaluación en la línea de comandos. Recibe como argumento un conjunto de expresiones en el que efectúa las operaciones siguientes:

  • Primera etapa: los caracteres especiales contenidos en las expresiones se tratan. El resultado del tratamiento genera una o varias expresiones: eval otra_exp1 otra_exp2 … otra_expn. La expresión otra_exp1 representará el comando Unix que se debe ejecutar en la segunda etapa.
  • Segunda etapa: eval va a ejecutar el comando otra_exp1 otra_exp2 … otra_expn. Sin embargo, previamente, esta línea se va a someter a una nueva evaluación. Los caracteres especiales se tratan y después el comando se lanza.

Publicado en Unix - Linux | Deja un comentario

BASH – Script calcula si un año es bisiesto.-

Publicado en Unix - Linux | Deja un comentario

Script Bash – Eliminar archivos con más de X días.-

El comando find tiene muchas opciones y argumentos que se pueden utilizar, y entre ellos está poder ejecutar otro comando para cada archivo. Partiendo de esta base, es posible encontrar que archivos tienen más de un cierto número de días, y por ejemplo, utilizar el comando rm para eliminarlos.

La sintaxis para encontrar y eliminar, por ejemplo, archivos que tengan más de 5 días (Se puede utilizar directamente en un crontab para eliminar archivos de log por ejemplo) :

Publicado en Unix - Linux | Deja un comentario

Script – LINUX : Comando SED con ejemplos útiles.-

#Ver las líneas de un fichero de texto de la 15 a la 17

sed -n 15,17p nombre.txt

#Mostrar todo el contenido excepto las líneas 10 a 14

sed 10,14d nombre.txt

#Mostrar cada 3º línea comenzando desde la 2

sed -n ‘2,3p’ nombre.txt

#Eliminar la línea 4

sed 4d nombre.txt

#Eliminar la última línea, sea cual sea

sed $ d nombre.txt

#Eliminar un rango de líneas

sed ’20 -34d ‘ nombre.txt

#Eliminar solo las lineas mencionadas

sed ’29 -34! d ‘ nombre.txt

#Agregar una línea en blanco tras cada línea de texto

sed G nombre.txt

#Localizar “hola” y sustituirlo por “hello”

sed ‘s / hola / hello /’ nombre.txt

#Sustituir palabra de una línea concreta

sed ‘4 s / peligro / seguridad /’ nombre.txt

#Sustituir una línea donde se encuentre la palabra “adios” por otra línea escrita

sed ‘/ adios / c “Esta será la nueva línea”‘ nombre.txt

Sustituir apariciones de cadena1 por cadena2 en las líneas 1 a 10:

cat archivo.txt | sed ‘1,10 s/cadena1/cadena2/g’

Reemplazar múltiples cadenas (A o B):

sed ‘s/cadenasrc1|cadenasrc2/cadena_nueva/g’

Mostrar desde una expresión regular hasta el final de archivo:

sed -n ‘/regexp/,$p’ archivo

Eliminar espacios al principio de línea:

# sed ‘s/^ *//g’ archivo

Eliminar todos los espacios que haya al final de cada línea:

sed ‘s/ *$//’ archivo

Eliminar espacios sobrantes a principio y final de línea, o ambos:

sed ‘s/^[ t]*//’ archivo
sed ‘s/[ t]*$//’ archivo
sed ‘s/^[ t]*//;s/[ t]*$//’ archive

Reemplazar cadenas:

sed ‘s/^unix/linux/g’ fichero > fichero2

Ver la siguiente línea a una regexp:

sed -n ‘/regexp/{n;p;}’ archive

Mostrar desde una regexp, hasta el final del archivo:

sed -n ‘/regexp/,$p’ archive

Ver las líneas que contengan 75 caracteres o menos:

sed ‘/^.\{75\}/d’ archivo

Borrar líneas en blanco de un archivo:

sed ‘/^$/d’ archivo > archivo1.txt

Borrar las líneas duplicadas que no sean consecutivas:

sed -n ‘G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P’ archive

Cambia el texto indicado en el archive oldfile.txt y crea un backup del archivo Como oldfile.txt.bak

sed -i.bak ‘s/cat/dog’ oldfile.txt

Publicado en Unix - Linux | Deja un comentario

PHP – Servicio REST y conversión de datos UTF-8.-

El siguiente código PHP lo utilizo para traer información (Servicio REST) de una URL especifica, en que le paso como argumento un RUT, Esta información no reconoce los caracteres especiales, acentos, etc.. Por este motivo se transforma a codificación UTF8.

Publicado en Unix - Linux | Deja un comentario

Script – Cambio masivo de texto en archivos.-

La siguiente linea la utilizo para cambiar la ruta en forma masiva en Script. Se puede adaptar para cambiar cualquier texto. En este caso se cambia la ruta del ejecutable EXPECT :

Publicado en Unix - Linux | Deja un comentario

Script BASH – Copia masiva de archivos con EXPECT.-

Publicado en Unix - Linux | Deja un comentario

Script BASH – Iterar sobre los parámetros (Argumentos).-

La variable $ * contiene todos los parámetros como un solo valor.

La variable $ @ contiene todos los parámetros como valores separados, por lo que puede iterar sobre ellos.

Al Ejecutar este Script, obtendriamos el siguiente resultado :

bash iterar.sh uno dos tres cuatro cinco seis siete ocho

Publicado en Unix - Linux | Deja un comentario

BASH – Script reinicio SERVICIO consola JAVA.-

Publicado en Unix - Linux | Deja un comentario

Script Bash – Quitar espacios delante y atrás de una variable (Trim).-

Este ejemplo nos permite quitar los espacios izquierda y a la derecha de una variable.

Publicado en Unix - Linux | Deja un comentario

Script Bash – Eliminar archivos con más de X días.-

El comando find tiene muchas opciones y argumentos que se pueden utilizar, y entre ellos está poder ejecutar otro comando para cada archivo. Partiendo de esta base, es posible encontrar que archivos tienen más de un cierto número de días, y por ejemplo, utilizar el comando rm para eliminarlos.

La sintaxis para encontrar y eliminar, por ejemplo, archivos que tengan más de 5 días (lo utilizo para eliminar archivos de LOG) :

Publicado en Unix - Linux | Deja un comentario

Bash Script – Elimina espacios de los nombres de archivos.-

Muchas veces los archivos con los que tienes que trabajar tiene espacios en sus nombres, y esto hace trabajarlos por lotes sea complicado. Los Scripts que intentes usar normalmente tendrán problemas para procesar archivos con espacios en sus nombres.

Por ello es necesario quitar esos espacios, esta línea de comando se encargará precisamente de eso.

Publicado en Unix - Linux | Deja un comentario

SCRIPT – Copia masiva de archivo a servidores.-

Para realizar una copia masiva de un archivo a múltiples servidores, en el siguiente ejemplo copiaremos el archivo “servers.conf” a 50 servidores (estos estarán en una lista en el archivo “servers.txt”). para ello se asume que tenemos relación de confianza entre los servidores (ssh). Otra opción si no se tiene la relación de confianza es realizarlo mediante EXPECT (otras hierbas, que también puede ver ejemplos de su uso en esta web).-

Publicado en Unix - Linux | Deja un comentario

Guardar la salida de un comando en una variable en Bash.-

Muchas veces necesitamos guardar la salida de un comando en una variable al escribir scripts Bash. El problema es que luego tenemos dificultades para interpretar o mostrar por salida estándar su contenido, ya que se pierden los saltos de línea. Esto se soluciona de manera sencilla utilizando comillas dobles. Tomemos como ejemplos el comando “ps”.-

Publicado en Unix - Linux | Deja un comentario

LINUX – Comando TOP en modo BATCH (Monitoreo procesos en tiempo real).-

El comando TOP es una utilidad que trae instaladas muchas distribuciones Linux – Unix por defecto. Esto nos permite ver a tiempo real el rendimiento del equipo, consumo de RAM, procesos que más consumen, CPU, etc… 

En el siguiente ejemplo, se captura el uso de CPU de un proceso JAVA. Ojo que no es lo mismo que el uso de CPU del servidor. Lo uso para monitorear un proceso JAVA, si el uso de CPU es elevado, significa que el proceso esta con problemas y debe ser reiniciado.-

Publicado en Unix - Linux | Deja un comentario

SCRIPT BASH – Lectura (READ) con timeout y variable por defecto.-

El script solicita el nombre de un archivo, si este no es ingresado en 60 segundos, le asigna el valor “defecto.txt”.

Publicado en Unix - Linux | Deja un comentario

SCRIPT BASH – Lectura archivo obteniendo campos por separado en Variables.-

Publicado en Unix - Linux | Deja un comentario

Script BASH – Cambio masivo de contraseñas a usuarios con EXPECT.-

El siguiente guion consta de 2 script, un guion Shell script y otro guion EXPECT. Para ejecutarlo tiene que tener instalado la utilidad EXPECT (librería que automatiza scripts interactivos). En esta misma web puede encontrar información al respecto.

El primer guion lo llamaremos “cambio_password.sh” el cual tiene permisos de ejecución, las lineas estan documentadas para no entrar en mayores detalles.- Este programa llama a un segundo guion creado en EXPECT (cambio_password.exp), al cual le pasa 5 argumentos por linea de comando.

A continuación el SCRIPT EXPECT, es el que realmente realiza el cambio de password en forma interactiva.-

Espero les sea de utilidad, se puede modificar y mejorar.

Publicado en Unix - Linux | Deja un comentario

LINUX – Script BASH para identificar el último día del mes.-

Como se puede observar, ejecutando el siguiente comando date –date=tomarrow +%d” se obtiene el número del día de mañana, que es guardado en una variable. Luego el contenido de la variable se compara con el número que esperamos que sea el día de mañana, que en el ejemplo es el día primero (1) del mes siguiente, y si cumple la condición hacemos lo que necesitamos hacer.

Publicado en Unix - Linux | Deja un comentario