Um simples loop deve ser suficiente:
for i in {1..22}
do
wget "ftp://ftp.ncbi.nih.gov/genomes/Homo_sapiens/CHR_${i}/hs_alt_CHM1_1.1_chr${i}.fa.gz"
gunzip "hs_alt_CHM1_1.1_chr${i}.fa.gz"
done
O índice de loop não precisa ser apenas números, você também pode obter os arquivos MT
, Un
, X
e Y
, com:
for i in {1..22} MT Un X Y
Como o primeiro conjunto de números precisa ser preenchido com zero, você pode usar printf
para isso:
Ou:
firsti="$(printf "%02d" $i)"
wget "ftp://ftp.ncbi.nih.gov/genomes/Homo_sapiens/CHR_${firsti}/hs_alt_CHM1_1.1_chr${i}.fa.gz"
Você pode executar um teste para cada loop, mas é mais simples mover os caracteres ( MT Un X Y
) para um loop separado usando o original wget
.