perl提取特定文本内容

想用(infile,outfile)=@ARGV来吧一个dat文件中的特定内容提取出来写入新文件里,请问该如何写呢还有我对openIN,"$INFILE";@lines=... 想用(infile,outfile)= @ARGV来吧一个dat文件中的特定内容提取出来写入新文件里,请问该如何写呢
还有我对
open IN,"$INFILE";@lines = <IN>;
里面的@lines 里得到的内容不太了解,不知道得到的到底是什么样的

输入文件的格式如上图所示,要提取并写入新文件的是第一列标记为ID 和SQ的项目
a
展开
 我来答
jianxia2k
2014-11-28 · TA获得超过399个赞
知道小有建树答主
回答量:365
采纳率:82%
帮助的人:197万
展开全部

@lines是一个数组,里面是文件中的每一行的内容。对该数据的操作方法是

foreach $line (@lines)   # 循环读取每一行
{
   ....   # $line是一行的内容
}


读到每一行后,对该行进行操作,使用split函数进行拆分。对于不行的文件格式,有不同的拆分方法,你应该看一行列的拆分方式,比如是用的逗号分隔,还是制表符分隔。拆分方法如下:

@cols = split(/[,\t]/, $line)   # 对$line进行拆分,拆分依据是逗号或制表符

然后得到的@cols数组就是每一列了,第一列就是$cols[0],第二列是$cols[1],然后你就可以将你的结果输出到OUT了。


不知道你基础如何,而且对你的文本格式不清楚,你需要的输出也描写的不清楚,所以不能给你整个完整程序了。如果还有问题请描写清楚再问。

追问
你好,谢谢你的回答。才接触perl三天,赶鸭子上架地看了个教程就开始编了。
实际内容需要把一个txt文件转化成fasta格式
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式