Это ДОЛЖНО быть Perl oneliner?
perl -i -pe 's/\d+\./ /g' <fileName>
Параметры командной строки Perl: -i
используется для указания того, что происходит с входным файлом. Если вы не дадите ему расширение файла, исходный файл будет утерян и заменен на выходной файл Perl. Например, если бы я имел это:
perl -i.bak -pe 's/\d+\./ /g' <fileName>
Исходный файл будет храниться с суффиксом .bak
, а будет содержать ваш вывод.
-p
означает заключить вашу Perl-программу в цикл печати, который выглядит SOMEWHAT следующим образом:
while ($_ = <>) {
<Your Perl one liner>
print "$_";
}
Это несколько упрощенное объяснение того, что происходит. Вы можете увидеть фактический цикл perl, выполнив команду perldoc perlrun
из командной строки. Основная идея заключается в том, что он позволяет вам работать с каждой строкой файла, как sed
или awk
.
-e
просто содержит вашу команду Perl.
Вы также можете выполнить перенаправление файлов:
perl -pe 's/\d+\./ /g' < xyz.txt > xyz.txt.out