2009-07-28 5 views

Répondre

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

Merci Pierre, qui a fait l'affaire –

+1

Si elle a fait le tour, vous devez accepter sa réponse. – innaM

3

créer un fichier 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; 

puis exécutez-le comme:

perl test.pl yourfile.txt 

ou, si vous ne voulez pas utiliser un fichier, vous pouvez le faire tout de la ligne de commande comme:

perl -p -e "s/\s+/\n/g" yourfile.txt 
+0

merci arolson101, qui a également fait l'astuce –

1

Vous pouvez utiliser sed

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

ou tout ce qui Fonctionne avec des expressions régulières

"s/[ ]/\n/g" 
+0

et merci monkeyp, ceci est un site Web amical –

+0

OP a demandé un script Perl – justintime

1

Si vous souhaitez modifier l'intérieur, vous pouvez utiliser l'option -i ch. Consultez perlrun pour voir comment il est fait, mais, au fond:

perl -p -i.bak -e 's/\s+/\n/g' 
1
#!/usr/bin/perl -l 

use strict; 
use warnings; 

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

Nice. Je ne peux pas comprendre ceux qui votent vers le bas cette réponse parfaite. –

Questions connexes