在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
前言 根据《Perl语言参考手册》介绍,Perl是Practical Extraction and Report Language的取首字母缩写(实用报表提取语言),它是由Larry Wall设计的,并由他不断更新和维护,用于在UNIX环境下编程。
简而言之,Perl象C一样强大,象awk、sed等脚本描述语言一样方便 正文 接触Perl是由于看到perl在文本处理上的强悍,百度之后发现网上提到的基本也是用perl来做文本操作,比如在一个文件中替换特定字符串, perl -pi -e 's/originaltextstring/replacementstring/g' filename 参数-pi -e的意思不是很清楚,结尾的g表示替换文档中出现的说有匹配, 这句话直接作为shell语句在终端执行或者写在shell脚本中, 下面通过示例来演示一下, 1.新建一个用于测试的文本,输入一些内容 vi testperlreplace 2.文件创建完毕看一下我写了什么内容: cat testperlreplace ----------------------------------------------- test ni da ye ---------------------------------------------- 3.现在替换其中所有的test为hello, perl -pi -e 's/test/hello/g' testperlreplace 4.现在查看文本内容应该已经变了, cat testperlreplace --------------------------------------------- hello ni da ye --------------------------------------------- 补充
关于perl 后面的-p,-i,-e代表的含义,google后有个老外解答了这个问题,不知正确性如何:http://www.linuxquestions.org/questions/programming-9/perl-replace-text-in-file-476382/
while (<>) {
我们上面的例子只是一个单独的文件,按着样的话,应该可以跟多个名字,甚至*匹配;
-p和-i可以合在一起-pi,-p -e也可以何在一起,但是-i,-e不能合在一起写-ie,下面的语句表示在所有前缀为testperlreplace的文件中替换test字符串为hello perl -pi -e 's/test/hello/g' testperlreplace* |
请发表评论