> > 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


Rispondere a