Mostrando entradas con la etiqueta Bash. Mostrar todas las entradas
Mostrando entradas con la etiqueta Bash. Mostrar todas las entradas

Script parar añadir lineas en bash

Trabajando con ficheros, seguro que alguna vez has querido añadir cada x líneas de un archivo. Con este script podrás hacerlo de una manera sencilla y altamente personalizable.

#!/usr/bin/ksh 
##poner tu propia ruta
#*********************************************************************************
# Nombre del shell script:
# Descripcion:
#              Añadir algo cada x lineas en un fichero
# Parmetros:
# Autor: @mac_1211
#*********************************************************************************
PATH_LOG='/var/log'

# PASO001: Generacion fichero .log
v_nombre=`basename $0 .sh`
exec 1>> ${PATH_LOG}/${v_nombre}.log
exec 2>> ${PATH_LOG}/${v_nombre}.log
echo "`date '+%T %D'` INFO: Inicio $v_nombre"

# PASO002: Comprobamos que el numero de parametros es correcto
if [ $# -ne 2 ]; then
echo "`date '+%T %D'` Error: Es necesario introducir 2 parámetros: $0 ruta_fichero texo_para_incluir "
exit 1
fi

# PASO003: declaramos las variables
echo "`date '+%T %D'` INFO: Declaramos las variables"
RUTA_ORIGINAL=$1
FICHERO_AUXILIAR='./aux.txt'
CONTADOR=0
LINEAS_SEPARACION=10
LINEA_COMIENZO=10
TEXTO_ADD=$2;

# PASO004: comprobamos que el fichero existe
if [ -f $RUTA_ORIGINAL ];
then
echo "`date '+%T %D'` INFO: El fichero existe"

else
echo "`date '+%T %D'` Error: El fichero no existe"
exit 1
fi

# PASO005: recorremos el fichero aniadiendo el texto cada x lineaas
echo "`date '+%T %D'` INFO: Comenzamos a añadir lineas al fichero"
while read linea
do
echo "$linea" >> $FICHERO_AUXILIAR;
MODULO=$(($CONTADOR%$LINEAS_SEPARACION))
if [ $CONTADOR -ge $LINEA_COMIENZO ] ;
then
if [ $MODULO -eq 0 ] ;
then
echo "$TEXTO_ADD" >> $FICHERO_AUXILIAR;
fi;
fi;
# aumentanmos el contador
let CONTADOR=CONTADOR+1;
done < $RUTA_ORIGINAL
echo "$TEXTO_ADD" >> $FICHERO_AUXILIAR;
echo "`date '+%T %D'` INFO: Se han añadido todas las lineas"

# PASO006: Borramos el fichero original y copiamos el nuevo
echo "`date '+%T %D'` INFO: Se procede al borrado de los ficheros auxiliares"
cp $FICHERO_AUXILIAR $RUTA_ORIGINAL
rm $FICHERO_AUXILIAR

echo "`date '+%T %D'` INFO: Fin $v_nombre"
exit 0


Localizar una ip en servidor linux


Instalar geoip 
    Debian, Ubuntu, Linux Mint:
         sudo apt-get install geoip-bin
    Fedora:
        sudo yum install geoip​
    CentOS:
        sudo yum install geoip

Probar
    ​geoiplookup 2.155.96.207

Instalar bases de datos de GeoIp desde MaxMind:
    wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
    wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
    wg​​et http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
    gunzip GeoIP.dat.gz
    gunzip GeoIPASNum.dat.gz
    gunzip GeoLiteCity.dat.gz
    ​cp GeoIP.dat GeoIPASNum.dat GeoLiteCity.dat /usr/share/GeoIP/

Uso
    geoiplookup -f /usr/share/GeoIP/GeoLiteCity.dat 2.155.96.207

Script para comprimir/descomprimir archivos a diversos formatos

Script sencillo que permite comprimir y descomprimir archivos de una forma sencilla sin necesidad de conocer todos los comandos necesarios para realizar esta acción.





El comando ./comprimir.sh -h te explica como funciona el script.
Recuerda darle permisos de ejecución

Comando tree en Linux

Este es un comando sencillo en Linux que permite mostrar, de una forma organizada, los archivos/carpetas y subarchivos/subcarpetas de un directorio dado.


Script para añadir una linea en un archivo desde la terminal de linux V2

Programa para editar archivos de una forma sencilla. Permite añadir, reemplazar y eliminar líneas. Además dispone de diversas opciones de guardado.



Script para añadir una linea en un archivo desde la terminal de linux

Descargar aqui: http://bit.ly/2ju8xyO

Con este script sencillo podrás añadir o reemplazar líneas dentro de cualquier fichero.

Viene con muchas opciones y con un menú de ayuda para poder entender mejor su funcionamiento.

Para ver el menu de ayuda ejecutar el siguiente comando
./add_line.sh --help