Как с помощью Perl заменить все пробелы в файле символами новой строки?
-
19-09-2019 - |
Вопрос
Например текстовый файл:
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'
Не связан с StackOverflow