Domanda

Per esempio di file di testo:

    Speak friend and enter

utilizzando uno script in Perl per rimuovere gli spazi e sostituire con il ritorno a capo

    Speak
    friend 
    and
    enter
È stato utile?

Soluzione

perl -p -e 's/\s+/\n/g'

Altri suggerimenti

creare un file test.pl:

open my $hfile, $ARGV[0] or die "Can't open $ARGV[0] for reading: $!";
while( my $line = <$hfile> )
{
    $line =~ s/\s+/\n/g;
    print $line;
}
close $hfile;

quindi eseguirlo come:

perl test.pl yourfile.txt

o, se non si desidera utilizzare un file, è possibile fare tutto da linea di comando come:

perl -p -e "s/\s+/\n/g" yourfile.txt
#!/usr/bin/perl -l

use strict;
use warnings;

print join "\n", split while <>;

È possibile utilizzare sed

sed -e "s/[ ]/\n/g"

o qualsiasi cosa che funziona con le espressioni regolari

"s/[ ]/\n/g"

Se vuoi inplace editing è possibile utilizzare l'opzione -i. Scopri perlrun per vedere come è fatto, ma, in fondo:

perl -p -i.bak -e 's/\s+/\n/g'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top