Linux中gz文件操作遇到的一些技巧和坑



前提是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等壓縮文件中就不行了。雖然它不會報錯,也會返回統計行數,但返回的實際是壓縮文件的行數(往往比源文件多很多),而非源文件。給一個示例就能明白:
image.png

查看壓縮文件的命令,只有zcat、less等少數幾個命令,如果要進行其他操作,不要偷懶,先用它們打開文件再用管道操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM