Hack x Crack - Comunidad de Seguridad informática

Programación => Scripting => Batch / Bash => Mensaje iniciado por: User170294 en Julio 31, 2013, 01:04:49 pm

Título: Line 1.02 | Devuelve x línea de un archivo (Bash)
Publicado por: User170294 en Julio 31, 2013, 01:04:49 pm
Hola a todos. Querría saber vuestra opinión sobre como optimizar al máximo este programa que he escrito en BASH.

El motivo de esto es que quiero optimizar mi manera de diseñar programas para Linux.

Se trata de un programa que se encarga de devolver X línea de Y archivo.

Código: [Seleccionar]
#!/bin/bash

##############################################
###   line ~ by user170294 ~ v.1.02        ###
##############################################
##   line [archivo] [numeroDeLinea]         ##
##                                          ##
##   Ejemplo: line 3 miArchivo.txt          ##
##   Devuelbe la tercera linea del archivo  ##
##############################################

## Comprobar que la orden se ha escrito correctamente

if [[ $# > 2 ]]
then
echo "** ERROR **"
echo "** Has introducido demasiados argumentos **"
echo "** Prueba: 'line ?' **"
exit 1
fi

if [[ $1 = "?" ]]
then
echo "##############################################"
echo "###   line ~ by user170294 ~ 30-jul-2013   ###"
echo "##############################################"
echo "##   line [archivo] [numeroDeLinea]         ##"
echo "##                                          ##"
echo "##   Ejemplo: line miArchivo.txt 3          ##"
echo "##   Devuelbe la tercera linea del archivo  ##"
echo "##############################################"

exit 2
fi

if [[ $# < 2 ]]
then
echo "** ERROR **"
echo "** Faltan argumentos **"
echo "** Prueba: 'line ?' **"
exit 3
fi

if [[ ! -f $1 ]]
then
echo "** ERROR **"
echo "** El primer argumento no es un archivo **"
echo "** Prueba: 'line ?' **"
exit 4
fi

head -$2 $1 | tail -1

Cualquier comentario es altamente agradecido :D

Salu2 ^-^

** EDITO **
** Si es adecuado que este post valla en otro hilo, por favor informenme **