bash:用于串联.gz文件的zcat vs.猫差异

  • 本文关键字:vs zcat 文件 用于 gz bash bash
  • 更新时间 :
  • 英文 :


在这里,我的shell脚本有问题。在我的数据分析管道中,我需要在下游分析中加入多个gzpiped文件。这些gzzped文件成对,因此我需要将所有Pair1和所有Pair2一起加入。我的脚本看起来像:

for f in "${pair1_fqs[@]}"; do
    zcat "${f//"/}" >> "$sampleID"_cat1.fq
done
for f in "${pair2_fqs[@]}"; do
    zcat "${f//"/}" >> "$sampleID"_cat2.fq
done

问题是ZCAT,CAT返回不同的结果:

zcat myfile.gz | wc -l
75896232
cat myfile.gz| wc -l
82322094

我想知道这里是否有人知道这种差异的原因!

zcat将首先取消压缩,然后管道wc -l将计数线。

cat只需将读取的数据从文件传递,然后将管道到wc -l将计数行。

这就是为什么您看到不同结果的原因,请在压缩文件上尝试cat,您会看到Gibberish。

现在尝试在压缩文件上使用zcat,您将看到您的数据。

最新更新