[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SCRIPT LEYENDO LINEAS RECURSIVAMENTE





2010/11/2 rantis cares <rantiscares@gmail.com>
Listeros:

Estoy haciendo un pequeño script para obtener ciertos detalles de un archivo y realizar una accion. Ustedes disculparan que no hable con terminos tecnicos, pues no los sé, porque siempre he realizado scripts pero nunca me he enfocado en los terminos.

Ya tengo casi todo el script que necesito para generar un informe.

La palabra TODOS (me parece que es una variable, si no pueden corregirme) yo quiero que lea todas las lineas, pero cada vez que lea una linea que ejecute la accion borrar y que se ejecute la accion de borrar. Quiero que se detenga hasta que encuentre la ultima linea.

Me acabo de dar cuenta que en el asunto pides un algoritmo recursivo. En este caso lo más sencillo es solucionarlo con uno iterativo (con un while o for como los que te hemos dado). Ya que estamos tratando con una lista de elementos (/home/PEDRO/informacion.txt) y para este tipo de datos es mas cómodo iterar que hacer llamadas recursivas. Pero también es posible una solución recursiva, seria algo asi como: 

#!/bin/bash
function rm_recursivo {
   if [ $1 == $2 ]; then exit 0; fi
   rm -fr "$(head -n $1 /home/PEDRO/informacion.txt | tail -n 1)"
   rm_recursivo  $(($1+1)) $2
}
rm_recursivo 1 $(wc -l /home/PEDRO/informacion.txt|awk {'print $1'})


pero fíjate que es mucho más complejo e ineficiente. Así que lo dejo solo como curiosidad. 
Saludos.


--
Marc

Reply to: