2010/11/2 julio
<julher@escomposlinux.org>
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"