欢迎来到天天文库
浏览记录
ID:9388723
大小:28.12 KB
页数:10页
时间:2018-04-29
《matlab-dos-perl》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、http://blog.csdn.net/sdustliyang/article/details/7578730 Perl 用作命令行操作的快速而又难看的脚本是很有用的;通过命令行,Perl仅用一行就可以实现大多数其它语言需要数页代码才能完成的任务,这个小东东的功能可是非常强大的。 参数: -w 打开警告。 -i 在原文件中编辑(就地编辑)。 -i.bak 就地编辑,但是会备份原文件,并且以.bak为后缀,这个.bak可以修改成自己想要的任何符号。 -n 使用<>将所有@ARGV
2、参数当作文件来逐行运行,会将读入的内容隐式的逐一按行来遍历文件,每一行将缺省保存在 $_;意即会把输入的文件逐行的读取并保存在$_这个变量中,我们修改$_相当于间接影响文件中的内容,这个工作其实是perl封装好了的,直接使用就好了;这个参数不会自动打印$_。 -p 这个和-n类似,但是会打印$_。 -e 指定字符串用作脚本执行;通常后跟单引号,把需要执行的语句封装在其中。 注释:关于-p和-n开关的使用,当你想显示打印数据时,使用-n开关;-p开关会隐式 的打印$_;因此,-n开
3、关更加适用对文件进行选择性的处理,只需打印特殊的数据,-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 此处修改后输出到屏幕,但并不会改变原文件。搜索满足条件的行 per
4、l -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” if /condition/’ files在匹配的某行前增加一行 perl -i -
5、pe ‘print “string” if /condition/’ files在匹配的某行后增加一行 perl -i -pe ‘$_=$_.“string” if /condition/’ fileshttp://kasy-13.blog.163.com/blog/static/8214691420128411559806/一、Perl的字符串匹配与替换匹配:m//(还可以简写为//,略去m)替换:s///转化:tr//6、eplacemnt>/这三种形式一般都和=~或!~搭配使用(其中"=~"表示相匹配,在整条语句中读作does,"!~"表示不匹配,在整条语句中读作doesn't),并在左侧有待处理的标量变量。如果没有该变量和=~!~操作符,则默认为处理$_变量中的内容。举例如下:$str="IlovePerl";$str=~m/Perl/;#表示如果在$str中发现"Perl"字符串,则返回"1"否则返回"0"。$str=~s/Perl/BASH/;#表示将变量$str中的"Perl"字符串替换为"BASH",如果发生此替换则返回"1",否则返回"0"。$str!~7、tr/A-Z/a-z/;#表示将变量$str中的所有大写字母转化为小写字母,如果转化发生了则返回"0",否则返回"1"。另外还有:foreach(@array){s/a/b/;}#此处每次循环将从@array数组中取出一个元素存放在$_变量中,并对$_进行替换处理。while(){printif(m/error/);}#这一句稍微复杂一些,他将打印FILE文件中所有包含error字符串的行。Perl的正则表达式中如果出现(),则发生匹配或替换后()内的模式被Perl解释器自动依次赋给系统$1,$2......请看下面的例子:$string8、="Iloveperl";$string=~s/(love)/<$1>/;#此时$1="love",并且该替
6、eplacemnt>/这三种形式一般都和=~或!~搭配使用(其中"=~"表示相匹配,在整条语句中读作does,"!~"表示不匹配,在整条语句中读作doesn't),并在左侧有待处理的标量变量。如果没有该变量和=~!~操作符,则默认为处理$_变量中的内容。举例如下:$str="IlovePerl";$str=~m/Perl/;#表示如果在$str中发现"Perl"字符串,则返回"1"否则返回"0"。$str=~s/Perl/BASH/;#表示将变量$str中的"Perl"字符串替换为"BASH",如果发生此替换则返回"1",否则返回"0"。$str!~
7、tr/A-Z/a-z/;#表示将变量$str中的所有大写字母转化为小写字母,如果转化发生了则返回"0",否则返回"1"。另外还有:foreach(@array){s/a/b/;}#此处每次循环将从@array数组中取出一个元素存放在$_变量中,并对$_进行替换处理。while(){printif(m/error/);}#这一句稍微复杂一些,他将打印FILE文件中所有包含error字符串的行。Perl的正则表达式中如果出现(),则发生匹配或替换后()内的模式被Perl解释器自动依次赋给系统$1,$2......请看下面的例子:$string
8、="Iloveperl";$string=~s/(love)/<$1>/;#此时$1="love",并且该替
此文档下载收益归作者所有
点击更多查看相关文章~~