Archivo mensual: octubre 2013

BATCH – Leer archivo y procesar cada linea que lo compone.

@ECHO OFF FOR /F “delims=·” %%A IN (archivo.txt) DO CALL:Tratar “%%A” rem Una vez leído el archivo y procesado se continua con el Script GOTO:EOF :Tratar rem aquí se procesa cada línea del archivo SET Reg=%~1 ECHO %Reg% GOTO:EOF

Publicado en BATCH - DOS | Deja un comentario

BASH – Validar jecución de SCRIPT por cuenta “root”.

Algunos scripts realizan tareas administrativas por lo cual podríamos querer que solo el usuario root ejecute el script. En ese caso podemos usar algo como esto: #!/bin/bash if [[ $EUID -ne 0 ]]; then echo “Este script debe ser ejecutado … Sigue leyendo

Publicado en BATCH - DOS | Deja un comentario

BASH – Crear archivos de un tamaño determinado.

Sirve para crear archivos de un tamaño determinado. En la primera línea, creamos el archivo “archivo.doc” con un tamaño de 1024 KiloBytes. En la segunda línea lo creamos de 1024 Bytes. dd if=/dev/zero of=archivo.doc count=1 bs=1024k dd if=/dev/zero of=archivo.doc count=1 … Sigue leyendo

Publicado en BATCH - DOS | Deja un comentario

BASH – Controlar tamaño de archivo LOG.

Este script puede ser modificado para controlar el tamaño de un archivo LOG. Por ejemplo cuando llegue al limite permitido que lo respalde y cree un nuevo archivo LOG. #!/bin/bash log=procesos.log limite=10 # Ejemplo, para maximo de 10Mb. size=`ls -l … Sigue leyendo

Publicado en BATCH - DOS | Deja un comentario

BASH – PAsar archivo creado en WINDOWS a formato UNIX.

function file_trans_dos2unix { if [ -z “$2” ] # si no se pasan 2 parametros… return 1 # error fi if [ ! -f “$1” ] # si no existe el fichero origen… return 2 # la funcion devolvera otro … Sigue leyendo

Publicado en Unix - Linux | Deja un comentario

BASH – Ejecución comandos remotos con SSH.

#!/bin/bash USERNAME=someUser HOSTS=”host1 host2 host3″ SCRIPT=”pwd; ls” for HOSTNAME in ${HOSTS} ; do ssh -l ${USERNAME} ${HOSTNAME} “${SCRIPT}” done

Publicado en Unix - Linux | Deja un comentario

BASH – Tamaños de archivos.

Calcula el archivo de mayor tamaño y de menor tamaño de directorios pasados como parámetros y los muestra por pantalla : #!/bin/bash function calcula { ls -l $1 | awk ‘ BEGIN { max = $5; } { if ($5 … Sigue leyendo

Publicado en BATCH - DOS | 1 comentario

BASH – Consultas IF.-

#!/bin/bash FECHA=”$(date +’%m’|bc)” echo “Estamos en el mes no $FECHA.” if [ $FECHA -le 3 ] then echo “es el primer cuarto del año” elif [ $FECHA -le 6 ] then echo “es el segundo cuarto del año” elif [ … Sigue leyendo

Publicado en Unix - Linux | Deja un comentario

BASH – Juego, adivina número aleatorio de 1-1000.-

#!/bin/bash clear # Si pasamos como parametro x borramos fichero record if [ $# -ne 0 ]; then # para controlar que se han pasado parametros. if [ $1 = x ]; then echo “Borrando fichero de records.” rm record.txt … Sigue leyendo

Publicado en Unix - Linux | Deja un comentario

BASH – Copia archivos “.sh” (respaldo) a Pendrive.

#!/bin/bash if ! [ -d /media/usbdisk/scripts ]; then mkdir /media/usbdisk/scripts fi for programa in $( find ~ -name “*sh” 2> /dev/null ); do echo “copiando el script :” $programa cp $programa /media/usbdisk done

Publicado en Unix - Linux | Deja un comentario

BASH – Muestra los números pares desde 2 a 40.-

#!/bin/bash for (( NUM=2; NUM<=40; NUM=NUM+2 )); do echo NUM vale $NUM done

Publicado en Unix - Linux | Deja un comentario

BASH – Indica si un número es par o impar.

#!/bin/bash clear read -p “Introduzca un número : “ NUMERO let RESTO=NUMERO%2 if [ $RESTO -eq 0 ]; then echo “El número $NUMERO es par” else echo “El número $NUMERO es impar” fi

Publicado en Unix - Linux | Deja un comentario

UNIX – Uso de decimales.

Podemos obligar a que bash trabaje con decimales utilizando un comando que sirve como calculadora en Unix, este comando es bc. Este comando admite un gran número de parámetros, pero en estos apuntes vamos a usarlo simplemente para indicar que … Sigue leyendo

Publicado en Unix - Linux | Deja un comentario

BASH – Copiar archivos a directorio pasado como parametro.

El siguiente Script copia todos los archivos de trabajo con extensión .dat y .c del directorio actual al directorio pasado como argumento. Si este directorio no existe, el guión lo debe crear #!/bin/bash test ! –e “$1” && mkdir “$1” … Sigue leyendo

Publicado en Unix - Linux | Deja un comentario

BATCH – Obtener la Dirección IP.

@echo off setlocal ENABLEEXTENSIONS & set “i=0.0.0.0” & set “j=” for /f “tokens=4” %%a in (‘route print^|findstr 0.0.0.0.*0.0.0.0’) do ( if not defined j for %%b in (%%a) do set “i=%%b” & set “j=1”) endlocal & set “dip=%i%” echo Direccion … Sigue leyendo

Publicado en BATCH - DOS | Deja un comentario

BATCH – Ejecutar un script BATCH con salida nula.

@echo off if exist temp.bat goto mibat copy /Y %0 temp.bat>>NUL call temp.bat>>NUL exit :mibat :: Aqui va el bat del /S /F /Q /A:- temp.bat exit

Publicado en BATCH - DOS | Deja un comentario

BATCH – Script para extraer el PID de un proceso.

@echo off FOR /F “tokens=1,2” %%i IN (‘tasklist’) DO ( IF “%%i”==”PROCESO1.exe” ( SET pid1=%%j ) IF “%%i”==”PROCESO2.EXE” ( SET pid2=%%j ) )

Publicado en BATCH - DOS | Deja un comentario

BATCH – Script dependiente de la ejecución de otro.

Este código Script lo ejecuto mientras este en ejecución otro SCRIPT BATCH que su ventana se llama “proceso”, si no lo detecta en ejecución finaliza (exit). En este script se utilizan 3 utilitarios (sendmail.exe – plink.exe y sleep.exe), los cuales … Sigue leyendo

Publicado en BATCH - DOS | Deja un comentario

UNIX – Ejecución comando mediante instrucción XARGS.

Si se requiere realizar un respaldo (copia) de muchos archivos, puede ser que el listado completo no entre en el buffer que tienen reservado la shell, y nos mostraría el siguiente error : Argument list too long Esto lo podemos … Sigue leyendo

Publicado en Unix - Linux | Deja un comentario

BATCH – Agenda en DOS BATCH, un ejemplo interesante.

@echo off title Agenda – by xassiz setlocal enabledelayedexpansion :menu cls echo: echo: ^| MENU ^| echo: echo: 1. Ver Agenda echo: 2. Agregar Tarea echo: 3. Salir echo: set “op=” set/p “op=>> ” if not defined op (goto:menu) if … Sigue leyendo

Publicado en BATCH - DOS | Deja un comentario