简介
Perl 用作命令行操作的快速而又难看的脚本是很有用的;通过命令行,Perl仅用一行就可以实现大多数其它语言需要数页代码才能完成的任务,这个小东东的功能可是非常强大的。
参数:
-w 打开警告。
-i 在原文件中编辑(就地编辑)。
-i.bak 就地编辑,但是会备份原文件,并且以.bak为后缀,这个.bak可以修改成自己想要的任何符号。
-n 使用<>将所有@ARGV参数当作文件来逐行运行,会将读入的内容隐式的逐一按行来遍历文件,每一行将缺省保存在 $_;意即会把输入的文件逐行的读取并保存在$_这个变量中,我们修改$_相当于间接影响文件中的内容,这个工作其实是perl封装好了的,直接使用就好了;这个参数不会自动打印$_。
-p 这个和-n类似,但是会打印$_。
-e 指定字符串用作脚本执行;通常后跟单引号,把需要执行的语句封装在其中。
注释:关于-p和-n开关的使用,当你想显示打印数据时,使用-n开关;-p开关会隐式 的打印$_;因此,-n开关更加适用对文件进行选择性的处理,只需打印特殊的数据,-p更加适用于对文件进行完全处理;命令行perl同样可以对批量文件进行操作。
替换A为B
perl -i -pe ‘s/old_str/new_str/g’ files
替换A为B并备份
perl -i.bak -pe ‘s/old_str/new_str/g’ files
修改并输出到屏幕
perl -ne ‘s/old_str/new_str/g;print;’ files
此处修改后输出到屏幕,但并不会改变原文件。
搜索满足条件的行
perl -i -ne ‘print if /condition/’ files
在文件中插入行号
perl -i -pe ‘$_ = sprintf “d %s”, $. , $_’ files
在匹配的某行行首添加字串
perl -i -pe ‘print “string” if /condition/’ files
在匹配的某行行尾添加字串
perl -i -pe ‘chomp; $_ = $_ . “string\n” if /condition/’ files
在匹配的某行前增加一行
perl -i -pe ‘print “string\n” if /condition/’ files
在匹配的某行后增加一行
perl -i -pe ‘$_ = $_ . “string\n” if /condition/’ files
简介
替换A为B
替换A为B并备份
修改并输出到屏幕
搜索满足条件的行
在文件中插入行号
在匹配的某行行首添加字串
在匹配的某行行尾添加字串
在匹配的某行前增加一行
在匹配的某行后增加一行