Используя Perl, как я могу заменить все пробелы в файле новыми строками?
Например текстовый файл:
Speak friend and enter
Использование скрипта Perl для удаления пробелов и замены на возврат каретки
Speak friend and enter
5 ответов:
Создание файла 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
Вы можете использовать
sed
sed -e "s/[ ]/\n/g"
Или все, что работает с регулярными выражениями
"s/[ ]/\n/g"
Если вы хотите редактировать inplace, вы можете использовать переключатель-i. Проверьте perlrun, чтобы увидеть, как это делается, но, в основном:
perl -p -i.bak -e 's/\s+/\n/g'