El 16/04/07, Alvaro Herrera <[EMAIL PROTECTED]> escribió: > Yonathan Dossow escribió: > > > $ perl -pe "s/^/gzip /;" < lista > lista_out > > > > $ cat lista_out > > gzip lala > > gzip lala con espacios > > gzip lala > > gzip mas lala > > Esto no va a funcionar porque gzip va a creer que cuando recibe "lala > con espacios" son tres argumentos distintos. En cambio esto si > funciona, y no necesitas perl ni redirecciones estrafalarias: > > $ while read line; do touch "$line"; done < lista > gzip "lala" > gzip "lala con espacios" > gzip "lala" > gzip "mas lala" >
sort -u lista | while read line; do touch "$line"; done > > Esto crea los archivos mencionados (util para propositos de prueba). Y > esto otro: > > $ while read line; do gzip "$line"; done < lista sort -u lista | while read line; do gzip "$line"; done > > los comprime. Da un error eso si: > gzip: lala: No such file or directory > > lo cual es obvio porque hay un nombre repetido, pero eso no es un > problema porque el resultado final es el mismo. > > Finalmente los borro, y tambien el archivo de prueba: > > $ (cat lista | sed -e 's/$/.gz/'; echo lista) | while read line; do rm > "$line"; done sort -u lista | while read line; do rm -f "$line.gz"; done > > Y nuevamente me tira un error: > rm: no se puede borrar «lala.gz»: No existe el fichero o el directorio > > Lo cual es obvio, porque ya lo borró. Con sort -u se pueden filtrar los registros repetidos del archivo lista. > > -- > Alvaro Herrera http://www.amazon.com/gp/registry/CTMLCN8V17R4 > Al principio era UNIX, y UNIX habló y dijo: "Hello world\n". > No dijo "Hello New Jersey\n", ni "Hello USA\n". > -- _________________________________ Solo soy una mente genial en un cuerpo hermoso: Xubuntu User # 7274

