> > Come faccio a togliere tutti gli spazi e le righe vuote da un file di > > testo? In pratica vorrei mettere tutto quello che e' scritto nel file > > su una sola riga. > Intendi togliere anche tutti gli spazi tra le parole o solo le righe > vuote e gli a capo? > > Per togliere le righe vuote (non ho egrep sotto mano e vado a naso) > > $egrep -v "^\s*$" file > file.out > > forse in egrep gli spazi sono gestiti con la classe [:space:] ma non > ricordo di preciso, percui quello sopra diventa > > $egrep -v "^[:space:]*$" file > file.out > > Per togliere gli a capo al momento non mi viene in mente :)
Secondo me ti conviene usare uno script... se puoi usare php cli prova questo (Non conosco il perl :)) #!/usr/bin/php <?php if($fp=fopen($argv[1],"r")) { for($output="";$data=fgets($fp);$output.=$data); //sostituisco gli a capo $output=str_replace("\n"," ",$output); // sostituisco pił di due spazi con uno spazio $output=preg_replace("/\s{2,}/"," ",$output); echo $output; } else echo "questo file non mi piace"; ?> $ ./xxx.php file_con_gli_spazi_e_gli_a_capo.txt > file_nuovo.txt