Perl在Linux系统下,快速拼接多个文件

Posted presentlife

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perl在Linux系统下,快速拼接多个文件相关的知识,希望对你有一定的参考价值。

在下载了人类参考基因组数据(22条常染色体、X、Y一共3G)之后,其实我是知道可以用cat命令的,类似:

$ cat chr1.fa >> hg19.fa;

连续进行24次追加之后就OK了,但是还是想写个循环简化一下。shell的语法还没学过,所以就用perl来写了。


随便写了三个文件file1、file2、file3,类容依次是1、2、3,测试下面的代码:

是对的,进行下一步。


#! /root/miniconda3/bin/perl

$filename = "hg19.fa";

$n = 1;


my $file_fh;

my $out_fh;

open $out_fh, '>', $filename;


for ($n ; $n <= 22; $n++) {

$s = "chr".$n.".fa";

open $file_fh, '<', $s;


while (<$file_fh>) {

print $out_fh $_;

  }

}


程序运行得很快,近3G的数据一分多钟就跑完了。

第一次惊叹于Linux下的速度。

以上是关于Perl在Linux系统下,快速拼接多个文件的主要内容,如果未能解决你的问题,请参考以下文章

批量修改文件名(find & rename & sed)

Linux文件目录结构

Linux快速搭建FTP服务器

linux 下安装rpm文件包时,提示perl(***::****::***) is needed by *****

在 Linux 上快速连接多个文件

操作系统 | 理解Linux文件目录的结构