sábado, 7 de enero de 2012

Bash, Procesar Archivo Linea por Linea


Tarde o temprano una tarea simple que se vuelve repetitiva tiende a volverse una molestia, por lo que normalmente nos enfrentamos a la necesidad de automatizarlas usando scripts, en este post vamos a tratar un caso muy simple, queremos ejecutar un comando usando como parámetro cada linea de un archivo de configuración (una forma muy básica y primitiva de parametrizacion)

básicamente vamos a abrir un archivo, iterar sobre cada linea y aplicar "echo" para mostrar esa linea en la consola.


#! /bin/bash
while read line
do
   touch $line".txt"
done < "config.cfg"


entre las consideraciones están

1) crear el archivo de configuración

touch config.cfg
echo -e "line1\nline2\nline3" > config.cfg
cat config.cfg

con el comando cat deberiamos de ver la siguiente salida

line1
line2
line3

2) crear el script para procesar el archivo de configuracion


nano script.sh 




Agregar lo siguiente

#! /bin/bash
while read line
do 
   touch $line".txt"
done < "config.cfg"

3) guardar ( CTRL + X , luego Y )

4) dar permisos de ejecución

 chmod +x script.sh 

5) ejecutar ./script.sh