2010/11/2 julio <[email protected]>

> El mar, 02-11-2010 a las 14:55 -0600, rantis cares escribió:
> > TODOS=$(cat /home/PEDRO/informacion.txt)
> >
> > rm $TODOS
> >
> > Realmente no pido una respuesta, solo que me guien porque al no saber
> > tanto los terminos, no puedo buscar en internet.
>
> Eso mejor lo haces con un bucle for, algo como
>
> for i in `cat informacion`;
> do
> rm $i;
> done
>

Así no va a funcionar si hay espacios. Ya que por defecto un for salta cada
espacio o salto de linea, Lo que hay que hacer es decirle que salte solo
cada nueva linea, para eso esta la variable IFS. Si no me falla la memoria
seria algo así como:

IFS = $(echo)
for i in $(cat information); do rm -rf "$i"; done

también son muy importantes las "" en la variable $i, ya que los espacios y
caracteres especiales van a causar problemas. de hecho creo que si un nombre
empieza por '--' esta versión que he puesto tampoco funcionaria, para que
funcionara tendríamos que hacer el rm de esta forma: rm -rf -- "$i"

saludos
-- 
Marc

Responder a