我的 SSD 上有大约 500 GB 的可用磁盘空间。我正在尝试对 10 个 gzip 文件(每个文件大小约为 25GB)运行一个操作。parallel
但是,当我在for 循环中执行此操作时,我一直用完存储空间,因为在同一目录中sort
写入了很多内容temporary files
,并且显然不会自行清理。
我试图从这些文件中随机抽取一定数量的行。
bcftools view "${FILES[i]}".vcf.gz | awk '{printf("%f\t%s\n",rand(),$0);}' | sort -t $'\t' -T . -k1,1g | head -n "${SUBSET_COUNT[i]}" | cut -f 2- >> "${FILES[i]}"_"${SUBSET_COUNT[i]}"_subset.vcf &
此操作对每个文件大约需要 1 小时(当我一个一个地执行时),但我想并行执行此操作,因为我需要对更多批次的此类文件重复此操作。