02 mayo 2013

Extraer lineas de un archivo

Actualmente estoy manipulando un fichero LDIF que tiene alrededor de 6.800.000 líneas.

El caso es que si utilizo un editor gráfico como por ejemplo gedit, al tener que manejar un archivo de ese tamaño, el sistema se cuelga. Por otro lado, según qué tipo de operación se deba realizar, el uso de editores en modo consola como nano o vim puede llegar a ser incómodo.

Para esos casos, puede servir de ayuda un pequeño script que nos permita la extracción de algunas líneas de código del archivo original. Basta con pasarle la línea de inicio, la línea final y el nombre del archivo sobre el que realizar la extracción.
if [ $# -eq 3 ]; then 
   first=$1 
   last=$2 
   file=$3
   head -n $last $file | tail -n `expr $last - $first + 1` 
else 
   echo "Usage: `basename $0` [firstLine] [lastLine] [file]" 
fi

0 comentarios: