domingo, 22 de noviembre de 2009

Un poquito de Shell script

Que tal . hoy veremos un poco de como podemos utilizar el script para realizar algunas tareas

Como trabajar con archivos con el comando "sed"


Este ejemplo borra las primeras 2 linea del archivo y la muestra en pantalla
# sed -e '1,2d' archivo | more

Este ejemplo mostrara como borrar comentarios de un archivo de configuración, facilitara el examinar errores de los archivos .

# sed -e '/^#/d' archivo | more

Este ejemplo nos ayudara a borrar las lineas en blanco de nuestros archivos y grabarlo en otro

#sed -e '/^$/d' archivo > archivo_2

Este ejemplo nos ayudara a borrar un bloque completo de lineas que no nos sean necesarias .

# sed -n -e '/inicio/,/fin/,p' archivo >archivo

donde inicio y fin son los caracteres que servirán como limite para eliminar las lineas .

tenemos un comando que puede ser un auxiliar en la sustitución de caracteres , es el comando tr

este comando nos permitirá sustituir todos los caracteres de minúscula a mayúscula

# tr [a-z] [A-Z] archivo
similar a la exprecion en sed
#sed 's/[a-z]/[A-Z]/g' archivo

El sig ejemplo muestra como borrar archivos con el comando "find"

# find /home/ -name "*.txt" -exec rm -f {}

ahora queremos hacer lo mismo pero omitiendo algunos directorios importantes para nostros

# ll /home/ | awk ' ( $9!="directorio1" && $9!="directorio2" && $9!="directorio3") {print "rm /home/" $9 "/*.err"}'| sh

haremos lo mismo pero con archivos viejos

# find /home/ -mtime +100 -exec rm -f {}
# find /home/ -mtime +100 | xargs rm -f

como visualizar el final de un archivo las ultimas 20 lineas

# tail -n 20 /var/log/message

podemos ver el final del archivo y continuar viendo los mensajes hasta que nosotros lo terminemos

#tail -f /var/log/message

Si queremos ver el encabezado de un arhivo podemos utilizar

#head -n 20 /var/log/message .

Como podemos obtener la ip de una de nuestras interfaz y utilizarla para alguna aplicación

# ip addr show eth0 | while read x y z; do [ $x == inet ] && echo $y; done
o
#ip addr show eth0 | grep -oiE '([0-9]{1,3}\.){3}[0-9]{1,3}'

como podemos ver la direccion mac de una tarjeta de red

# ifconfig eth0 | grep -oiE '([0-9A-F]{2}:){5}[0-9A-F]{2}'





No hay comentarios:

Publicar un comentario