Tenho cerca de 500 GB de espaço livre em disco no meu SSD. Estou tentando executar uma operação em 10 arquivos gzipados (cada um com cerca de 25 GB de tamanho). Mas continuo ficando sem armazenamento quando faço isso em um parallel
loop for, pois sort
grava muito temporary files
no mesmo diretório e aparentemente não limpa depois de si mesmo.
Estou tentando pegar aleatoriamente um certo número de linhas desses arquivos.
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 &
Essa operação leva em torno de 1 hora em cada arquivo (quando faço um a um), mas quero fazer em paralelo, pois preciso repetir isso em mais lotes desses arquivos.