在这里,我的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
,您将看到您的数据。