Linux中gz文件操作遇到的一些技巧和坑
2020-10-30 本文已影响0人
生物信息与育种
前提是gz文件超大,如上百G,肯定不能直接解压来做。
不解压情况下获取gz超大文件的前/后几行?
gzip -cd test.gz |head -100
gzip -cd test.gz |tail -100
Perl读入gz文件操作?
use PerlIO::gzip;
open IN,"<:gzip",$vcfgz||die"$!";
除了常规的Perl模块安装,还可用conda来直接安装PerlIO::gzip模块。
conda install -c bioconda perl-perlio-gzip
#或
conda install -c bioconda/label/cf201901 perl-perlio-gzip
不能直接通过wc -l 来统计gz文件的行数
平时习惯了直接用wc -l file
命令来查看文件行数,但用在gz等压缩文件中就不行了。虽然它不会报错,也会返回统计行数,但返回的实际是压缩文件的行数(往往比源文件多很多),而非源文件。给一个示例就能明白:
查看压缩文件的命令,只有zcat、less等少数几个命令,如果要进行其他操作,不要偷懒,先用它们打开文件再用管道操作。