加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl -i 在命令行中修改文件内容

发布时间:2020-12-16 00:23:51 所属栏目:大数据 来源:网络整理
导读:简介 ? ? ? ? ? ? Perl 用作命令行操作的快速而又难看的脚本是很有用的;通过命令行,Perl仅用一行就可以实现大多数其它语言需要数页代码才能完成的任务,这个小东东的功能可是非常强大的。 ? ? ? ? ? ? 参数: ? ? ? ? ? ? -w? ? ? 打开警告。 ? ? ? ? ? ?

简介

??????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; $_ = $_ . “stringn”? if?/condition/’? files

在匹配的某行前增加一行

??????perl? -i? -pe?‘print? “stringn”?if? /condition/’? files

在匹配的某行后增加一行

??????perl? -i? -pe?‘$_ = $_ . “stringn”? if?/condition/’? files

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读