|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
[bash] iterare su file con spazi
Mi sono trovato davanti ad un problemino.
Codice:
#!/bin/sh
for i in `ls -b $1`;
do
echo $i
done
Come posso fare ? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 11745
|
hai provato a mettere il filename tra quotes?
altrimenti mi sa che un analisi con una regex e' l'unica via
__________________
Ho fatto affari con: troppi per elencarli Vendo: NAS PRO QNAP 4 BAIE 419P+ CON LCD Ultima modifica di Rubberick : 17-02-2008 alle 13:10. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il problema non è nell'echo, ma proprio nell'assegnazione a $i fatta nel for.
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Jan 2008
Messaggi: 90
|
Cosi' dovrebbe andare...
Codice:
#!/bin/sh
IFS=$'\n'
for i in `ls -b $1 `;
do
echo $i
done
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non mi funziona ancora. Mi manda a capo ogni volta che trova una n.
Se provo a rimuovere la n mi va a capo (una iterazione in più) ogni volta che trova uno spazio. |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Jan 2008
Messaggi: 90
|
strano a me funziona... cmq ha a che fare con quella variabile li, prova magari qualche variazione IFS=\n o IFS="\n" o \\n boh!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:45.



















