jueves, 29 de marzo de 2012

Leer un archivo de texto línea por línea desde el Terminal de Linux






Me surgió el otro día la necesidad de leer el contenido de un archivo de texto desde el terminal de Linux. Quería que un comando linux tomara como argumentos o parámetros de entrada el contenido de ese archivo, de tal forma que cada argumento correspondería a una línea de ese archivo.

Para probar el script que veremos posteriormente tenemos que crear el archivo de texto a leer, que llamaremos lista.txt y que tendría el siguiente contenido:


Madrid
Barcelona
Valencia
Bilbao

Lo siguiente sería crear un script, el cual leyera línea por línea el archivo de texto. Para cada línea aplicara el comando deseado. Sería algo así:

#! / bin / bash        
FILENAME=nombre_archivo 
while read line        
do        
    COMANDO $line
done < $FILENAME



En mi caso, como es solo un ejemplo, he escogido el comando "echo", que mostrará los valores por pantalla, así que correspondería al siguiente código:


#! / bin / bash        
 
FILENAME=lista.txt
while read line        
do        
    echo $line
done < $FILENAME


Al ejecutarlo, se mostraría en el terminal el siguiente texto:

Madrid Barcelona Valencia Bilbao

Con ésto ya habríamos conseguido nuestro propósito.

Este script puede servirnos como base para crear otros más complejos, o para pasar muchos argumentos a un comando sin tener que escribirlos directamente en el terminal.




Felinfo: Java, Linux, Virtualización. Open Source.  ©Template Blogger Green by Dicas Blogger .

TOPO