Perl正则expression式在命令行上处理文件

在一个文件中,说xyz.txt我想要replace任何数字的模式后跟一个点的例子:1.,2.,10.,11。 等等。用空格。 如何在命令行上编写一个perl命令来执行上述操作,应该使用哪个正则expression式?

请帮助谢谢。

根据字典replace文本

命令行打印文件名输出文件

Windows上的Perl:32位或64位?

如何在path包含空格的文件上使用`diff`

无法看到从Java类执行的Perl输出

这是一个Perl的上线者?

perl -i -pe 's/d+./ /g' <fileName>

Perl命令行选项: -i用于指定输入文件发生了什么。 如果你没有给它一个文件扩展名,那么原来的文件就会丢失,并被Perl的输出所取代。 例如,如果我有这个:

perl -i.bak -pe 's/d+./ /g' <fileName>

原始文件将以.bak后缀存储, <fileName>本身将包含您的输出。

-p意思是把你的Perl程序封装在一个看起来像这样的SOMEWHAT的打印循环中:

while ($_ = <>) { <Your Perl one liner> print "$_"; }

这是一个简单的解释发生了什么事情。 您可以通过perldoc perlrun执行perldoc perlrun来查看实际的perl循环。 主要思想是,它允许你像sed或awk一样在文件的每一行上执行操作。

-e只包含你的Perl命令。

你也可以做文件重定向:

perl -pe 's/d+./ /g' < xyz.txt > xyz.txt.out

答案(未测试):

perl -ipe "s/d+./ /g" xyz.txt

perl -ipe "s/d+./ /g" xyz.txt

perl -pie

不能在我的系统上执行。

我使用下面的命令:

perl -i -pe

相关文章

引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个...
引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要...
一. 宏观概念 ASP.NET Core Middleware是在应用程序处理管道...
背景 在.Net和C#中运行异步代码相当简单,因为我们有时候需要...
HTTP基本认证 在HTTP中,HTTP基本认证(Basic Authenticatio...
1.Linq 执行多列排序 OrderBy的意义是按照指定顺序排序,连续...