Bucles en la terminal

September 22, 2006 at 10:07

Hace poco necesitaba yo borrar, en una estructura de directorios, todos los ficheros cuya extensión fuera .class. Estas tareas suelen ser un tedio, pero muy fáciles de solucionar si sabes un poco de shell scripting. El ejemplo es el siguiente:

$ for i in `find . -name '*.class'` ; do echo "Borrando $i" ; rm "$i" ; done
Esto haría la magia en una terminal con intérprete de mandatos bash. Si usais tcsh como yo, la cosa es un poco distinta:

$ foreach i ( ` find . -name '*.class' ` )
foreach? echo "Borrando $i"
foreach? rm $i
foreach?end

Como se ve, en tcsh es un poco menos intuitivo, ya se sabe que para programar, bash es bastante mejor :-), pero el resultado es equivalente.