注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

lazydba

hello

 
 
 

日志

 
 

perl小技巧  

2009-06-17 13:23:14|  分类: script |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1. 文本文件换行符转换。
unix下文件换行符是\n (0A),windows下换行符为\r\n (0D0A),当文件从一个环境复制到另一个环境时,容易出现问题。
比如用binary模式在不同环境下ftp。

dos -> unix
perl -wpli.bak -e 's/\x0D$//' filename

unix -> dos
perl -wpli.bak -e 's/\$/\x0D/' filename
perl -wpli.bak -e 's/\x0A/\x0D\x0A/' filename


2. 单引号的转义(’)
命令行中,单引号比较难转义,可以用16进制表示法

perl -e 'print "\x27\x0A"'

3. In place 替换,

perl -wnli.bak -e 's/pattern/replace/ and print' filename

这和sed的替换命令相似,不过perl可以直接修改源文件filename,老的文件会以filename.bak的形式备份。

4. 常用命令和函数
od命令可以以二进制形式查看文件。
od -c filename
od -t x1 filename
od -t x4 filename 以4字节十六进制的方式查看文件内容

上面2个命令一起运行可以判断当前系统是”大端“对齐还是“小端”对齐。

man ascii 查看ascii编码

perl的2个函数:
chr(number) => 返回字符, chr(65) = 'A'
ord(string) => 返回第一个字符的数字形式, ord('ABC') = 65


用perl的好处在于:
可以以一种统一的方法处理不同系统上的问题,如linux,aix,hpux等环境下的文本处理,一般这些系统上默认都是装有perl的吧。

5. perl中system函数的运用:
#a.pl
system <<EOF
. ~/.bash_profile
sqlplus "/as sysdba" <<!!
set pagesize 100
select * from v\\\x24instance;
!!
EOF




  评论这张
 
阅读(121)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017