Perl单行命令 二

Perl单行命令

1. 怎么在多个文件中处理替换

示例1:

perl -pi -e 's/test1/test2/g' file1 file2 file3

2. 怎么处理文件只匹配某一行,然后替换

示例2:

perl -pi -e 's/test1/test2/g if /hello/' file

这个会把file文件中包含hello这行中的test1全部替换成test2

示例3:

perl -pi -e 's/test1/test2/g if /\d/' file

这个会把file文件中匹配到包含数字的行全部把test2替换成test1

3. 输出文件中重复的行

示例3:

perl -ne 'print if $a{$_}++' file

参数-n的功能是循环处理文件,使你可以一行行的处理文件

4. 打印行号

示例4

perl -ne 'print "$. $_"'

这个$.特殊的变量,在perl中可以输出行号
你也可以通过使用-p这个参数来修改$_这个变量来实现

示例5:

perl -pe '$_ = "$. $_"'

结合3和4的例子,我们可以输出重复行,并且打印重复行的行号

示例6:

perl -ne 'print "$. $_" if $a{$_}++' file
作者:yexiaobai原文地址:https://segmentfault.com/a/1190000000450640

%s 个评论

要回复文章请先登录注册