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