salve ho una funzione molto semplice
@myDir = <*>;
foreach $myDir (@myDir) {
next if $myDir =~ /^\.\.?$/;
system("ls -l ".$myDir." | awk '{print \$9}'"."\n");
}
visualizza il nome dei file contenuti in diverse sottocartelle
però l'output viene visualizzato nel seguente modo:
testo1.txt
testo2.txt
testo3.txt
testo4.txt
testo5.txt
testo6.txt
visualizza uno spazio quando cambia cartella
cioè testo1 e testo2 appartengono ad una cartella, testo3 ad un'altra testo 4,5,6 ad un'altra ancora.
Ora se voglio eliminare gli spazi devo prima direzionare l'output di visualizza.pl su un altro file e poi usare il comando grep sul secondo file per eliminare gli spazii
sotto shell è
perl visualizza.pl > outputVis.txt
poi eseguo il grep
grep -v "^ *$" ./visualizza.pl > senzaSpazio.txt
come faccio ad avere lo stesso risultato direttamente modificando il codice di visualizza.pl
Vorrei che chiamando direttamente
perl visualizza.pl
mi togliesse gli spazii e mi redirezionasse l'output su un file.
consigli?
tks