linux user group brescia

immagine del castello

Archivio della mailing list

sostituzione (anzi, cancellazione) su piu` file

Vernia Damiano melkor.x a tiscali.it
Mar 17 Feb 2004 14:47:32 UTC
On Tue, 10 Feb 2004, Carlo Mor wrote:
> > > > for file in `ls -l` do
> for file in *; do
> > Il problema è che il for interpreta, per esempio,
> > Vasco Rossi - C'è chi dice no.mp3
> > come una serie di entries, ovvero:
> Usando ls e "`" (non mi ricordo come si chiama) non funziona.

	(sostituzione di comando) Funziona, comunque. Il problema e' la 
variabile $IFS (Internal Field Separator) posta a "<spazio><tab><newline>" 
che interpreta gli spazi separatori tra parole.
	Se non hai file il cui nome contiene un <newline> puoi fare cosi':

OLDIFS=$IFS
IFS="
"
for file in `ls -1`; do	# $(ls -1) e' piu' "bashoso"
	echo "$file"
done
IFS=$OLDIFS

	Conviene che rimetti a posto IFS alla fine e, magari, anche 
all'interno del ciclo for, per evitare effetti strani.

-- 
							Ciriciao
						LtC. Melkor?! B. Xapatan

PS: "-1" obbliga ls a mettere uno ed un solo file per linea di output





Maggiori informazioni sulla lista Lug