指定要处理到Perl one-liner的文件

时间:2017-01-19 13:23:49

标签: perl

我获得了一个Perl单线程。它具有以下形式:

perl -pe'...'

如何指定要处理的程序文件?

1 个答案:

答案 0 :(得分:4)

有关如何启动perl的文档,请参见perlrun手册页。

perl -i~ -pe'...' file [file [...]]    # Modifies named file(s) in place with backup.
perl -i  -pe'...' file [file [...]]    # Modifies named file(s) in place without backup.
perl     -pe'...' file.in >file.out    # Reads from named file(s), outputs to STDOUT.
perl     -pe'...' <file.in >file.out   # Reads from STDIN, outputs to STDOUT.

如果您想修改多个文件,可以使用以下任何一种方法:

find ... -exec perl -i~ -pe'...' {} +     # GNU find required.
find ... | xargs perl -i~ -pe'...'        # Doesn't support newlines in file names.
find ... -print0 | xargs -0 perl -i~ -pe'...'

注意:有些单行使用-n和显式打印而不是-p。以上所有内容也适用于这些。