微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐