Re: Bash y espacios en los nombres de fichero
On Fri, Jul 26, 2002 at 10:16:53PM +0200, Amaya wrote:
| Diego Sevilla Ruiz dijo:
| > Casi lo más seguro es que tu variable $2 no está bien
| > construida. Así que yo de tí miraría en el paso anterior donde
| > se genera el valor de sa variable.
|
| Exacto, eso es. La linea:
|
| set x $line
|
| $line es la que, por lo que yo entiendo, que puedo estar muy equivocada,
| contiene todos los nombres de archivo, y los separa por espacios, no se
| entiendo esto demasiado alla.
Amos a ver, prueba a poner set x "$line". De todas maneras, esto no te
va a funcionar (creo) por cómo vas construyendo la variable $line más
arriba, porque haces algo como:
line="$line $fichero"
¿Qué pasa si "$fichero" tiene un espacio? ¿Cómo sabes qué espacios están
dentro de un fichero o separan a los ficheros? Creo que el que hizo ese
script lo hizo demasiado rápido, y no pensó en esta característica. Para
hacer que un programa acepte ficheros con espacios, hay que basarse en
las características del shell que permiten esto, por ejemplo
for i in *; do echo ":$i:" ; done
funciona aunque haya ficheros con espacios, porque el shell separa cada
fichero en un argumento de $i, pero por ejemplo, esto puede no
funcionar:
k=`find .` && for i in "$k" ; do echo ":$i:" ; done
te imprimirá los dos puntos entre cada _palabra_, no entre cada
_fichero_.
Auguro un largo trabajo para adaptar eso que tienes ahí.
Saludos.
diego
--
Diego Sevilla Ruiz http://ditec.um.es/~dsevilla dsevilla@um.es \ /\
Dpto. Ingeniería y Tecnología de Computadores http://ditec.um.es ) ( ')
Visiting Extreme! Computing Lab http://extreme.indiana.edu ( / )
Indiana University, Bloomington http://www.iub.edu \(__)|
Didn't you know that XML is "self describing?" It all happens by magic ;-)
-- Michi Henning in comp.object.corba
--
To UNSUBSCRIBE, email to debian-user-spanish-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Reply to: