Как с помощью Perl заменить все пробелы в файле символами новой строки?

StackOverflow https://stackoverflow.com/questions/1194467

Вопрос

Например текстовый файл:

    Speak friend and enter

использование сценария Perl для удаления пробелов и замены возвратом каретки

    Speak
    friend 
    and
    enter
Это было полезно?

Решение

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

Другие советы

создайте файл 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;

затем запустите его следующим образом:

perl test.pl yourfile.txt

или, если вы не хотите использовать файл, вы можете сделать все это из командной строки, например:

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

use strict;
use warnings;

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

Вы можете использовать sed

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

или что-нибудь, что работает с регулярными выражениями

"s/[ ]/\n/g"

Если вы хотите редактировать на месте, вы можете использовать ключ -i.Проверить perlrun чтобы посмотреть, как это делается, но в основном:

perl -p -i.bak -e 's/\s+/\n/g'
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top