【发布时间】:2014-06-12 01:44:27
【问题描述】:
我经常使用正则表达式来转换文本。
要从命令行转换巨大的文本文件,perl 让我这样做:
perl -pe < in.txt > out.txt
但这本质上是逐行的。偶尔,我想在多行的东西上进行匹配。
如何在命令行中执行此操作?
【问题讨论】:
-
我确信 Perl 可以满足您的需求。您可以要求它使用换行符以外的记录分隔符,或者它可以将文件拆分为空行或使用固定的记录大小。或者,如果您的文件大小合理,您可以将其全部读入内存并从那里处理。除非您详细解释您的应用程序,否则我不知道什么是最好的方法
-
具体来说,
perl -0777 -pe ...本质上不是逐行的。 :) -
要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是题外话,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。
标签: regex perl multiline command-line-tool