资源描述:
《实用perl及linux基本操作》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Vi17171717压缩解压:17选取命令:cut、grepegrepegrep执行效果如grep -E,egrep接受所有的正则表达式,一个显著特性是可以以一个文件作为保存的字符串,然后将之传给egrep作为参数,为此使用-f开关。egrep-fpar2tab2 par2是文件,里面包括各种匹配的具体格式 如果要查询存储代码32L或2CC,可以使用(
2、)符号,意即“
3、”符号两边之一或全部。egrep'(Code
4、Sort)'tab2小贴示:查看文件的内容:显示~/.bashrc的第11到20行:“head–
5、n20~/.bashrc
6、tail–n10”17排序命令:sort、wc、uniq17字符转换命令:tr、col、join、paste、expand1717Sed工具:17Awk工具1717Printf命令17Perl中的printf函数可以格式化输出字符串用法:printfFILEHANDLEFORMAT,LIST或printfFORMAT,LIST例如:printf函数先格式化字符串再输出到指定文件或当前缺省文件中,如:@nums=(3.1415,2e3+1.95,5**5);printf"Thenumsar
7、e:".("%7.3f"x@nums),@nums;使用printf格式化输出printf函数有一个模板,叫格式字符串,它可以规定输出的格式,每个格式符有百分号开头,由字母结束。%g 输出数字,它将根据需要自动选用浮点数,整数或者指数%d 十进制整数%x十六进制 %o八进制根据需要截尾,舍去小数点后的数字,非四舍五入。%for%s限制宽度其中正数是右对齐,负数是左对齐%s是针对字符串的,如%10s,%-15s%f针对数字的(浮点数)会根据需要四舍五入,如%12.3f (表示输出共12个字符,包括小数点,并
8、且小数点后面只有3位数)%%输出百分号,不会使用后面列表中的元素命令diff:17Perl相关知识一、Perl中有一个“加号”来串联(将字符串连接起来)字符串.与其它语言不一样,Perl定义了一个分隔操作符(.)来完成字符串的串联,这样就不会与数字的加号相混淆。如:$a=123;$b=456;print"$a+$b";#打印123+456print"$a.$b";#打印123.456同样,字符串中也有“乘号”,叫做“重复”操作符。类似的,采用分隔操作符(x)同数字乘法相区别:$a=123;$b=3;pri
9、nt$a*$b;#打印369print$ax$b;#打印123123123范例:$a=123;$b=123;print$a.'isequalto'.$b.".";#点操作符print$a,'isequalto',$b,".";#列表print"$aisequalto$b.";#代换#以上均打印出123isequalto123.二、在Perl中,从c语言中借鉴过来一种写法如下:Ivalueoperator=expression和下面的这种写法是一样的:Ivalue=Ivalueoperatorexpre
10、ssion如:$line.="";#给$line附加一个新行$fillx=80;#把字串变成自填充80遍$val
11、
12、="2";#如果$val不为真则把它设置成2赋值语句返回实际的变量作为Ivalue。因此可以在同一个语句中多次改变同一个变量的值。例如将华氏温度转换成摄氏温度可以这样:($temp-=32)*=5/917三、如果将自增(减)操作符放在变量的前边,变量就成为“预增”变量。变量的值在它被引用前改变。如果放在变量后边,被称为“后增变量”它在引用后改变。$a=5;$b=++$a;#$b被赋予$a自增后的
13、值,6$c=$a--;#$c被赋予6,然后$a自减为5反义简写,有些时候只是为了获取以上几种简写的反义,而必须写出类似[^d]、[^w]或是[^s],其实它们的大写版本就是来完成这一任务的,也就是D、W或是S。特殊符号b匹配单词边界,就是位于w与W之间的零宽度的地方。量词:+,代表{1,},意思为“最少一次”。还有*,表示{0,},表示“零或多次”。?表示{0,1},表示“零或一次”。注意:/bam{2}/将匹配“bamm”而不是“bambam”。要对多于一个字符使用量词需要使用圆括弧,因此匹配
14、“bambam”需要使用/(bam){2}/。1717