| 查看: 82 | 回复: 1 | |||
| 当前主题已经存档。 | |||
[交流]
用perl来简化数据处理的一段代码
|
|||
|
首先要解释一下为什么放在物理栏目里面。Perl是一种解释型计算机语言,理论上可以完成很多工作,在windows下安装也方便。不过,我们不会用到宏大的工程。这里剧的例子是简化我们的一些数据。特别是从一些仪器里面自动提取的数据。 windows下perl 的安装请google active perl,下载安装即可 例子一,有一段时间我做测量变温变磁场光谱数据,一个星期下来一共有5000多个文件,文件名有点问题,我要重新改一下。要是一个一个得改,改5000个文件,我几天不要睡觉了,呵呵。 我的原文件名是这样的:CMR***rtp**.rat或者CMR***rtn**.rat 我的文件改名规则是,把CMR简化成c,除掉rt,除掉p或者n,在小数点前面加一个零。 好,用perl来做,代码如下。 #This program rename all the files in the directory according to some rules. #!/usr/bin/perl @filelist= for $file (@filelist) { $newfile=$file; $newfile=~s/CMR/c/i; $newfile=~s/rt//i; $newfile=~s/p//i; $newfile=~s/n//i; $newfile=~s/\.rat/0\.rat/i; rename($file, $newfile); } 保存文件,changename.pl 到DOS下运行perl changename.pl,当前目录下所有的符合规则的文件名就都改变了。 例子二,我的5000个文件头有一堆垃圾代码,是些注释,导入到origin中很难看,于是想全部删掉。我知道代码一共有14行,而且都位于头部。 #This perl program is to delete the first n rows in a file, and save them to the same file. #!/usr/bin/perl @filelist= for $file (@filelist) { $newfile=$file; open OLD, $file; @content= for (1...14) {shift @content;} open OLD, ">$newfile"; print OLD @content; } 保存文件,delete.pl 到DOS下运行perl delete.pl,当前目录下所有的符合规则的文件就都改变了。 这里只是大概介绍一下perl,如果大家有我这样的需求的时候,不要忘了perl这种工具,上网查查资料编段小代码,做事情会方便很多。 如果你觉得这个帖子对你有帮助,请评分,谢谢。 |
» 猜你喜欢
青椒八年已不青,大家都被折磨成啥样了?
已经有11人回复
限项规定
已经有9人回复
免疫学博士有名额,速联系
已经有4人回复
交叉科学部支持青年基金,对三无青椒是个机会吗?
已经有5人回复
国家基金申请书模板内插入图片不可调整大小?
已经有6人回复
国家级人才课题组招收2026年入学博士
已经有5人回复
Fe3O4@SiO2合成
已经有6人回复
青年基金C终止
已经有4人回复
26申博求博导推荐-遥感图像处理方向
已经有4人回复
西南交通大学国家级人才团队2026年博士研究生招生(考核制)—机械、材料、力学方向
已经有3人回复
2楼2006-02-22 12:37:42













回复此楼