Como pode usar duas variáveis em um loop

1

Eu tenho dois loops, mas não sei se é possível juntar todos:

Primeiro, mescle dois IDs diferentes da mesma amostra:

samples="sample01 sample02 sample03"
for s in ${samples}
do
    cat ${s}_id1.txt ${s}_id2.txt > ${s}_id12.txt
done

Com isso eu conto quantos dados são únicos no meu exemplo.txt com um intervalo de 19 - 41 e coloquei o resultado em count.txt

for ((t=17, i=1; t<43; t=t+2, i++))
do 
    echo "[$i] Iteration - t = $t"'
    unique.py -o count.txt -t $t sample.txt
done

O que eu quero é colocar os valores diferentes para $t para cada elemento ${s} sample_id12.txt. Algo parecido com isto:

samples="sample01 sample02 sample03"
for s in ${samples} ¿counter?
do
    cat ${s}_id1.txt ${s}_id2.txt > ${s}_id12.txt
    unique.py -o count.txt -t $t ${s}_id12.txt
    rm ${s}_id12.txt
done
    
por zorbax 15.01.2016 / 07:03

2 respostas

2

Um exemplo de loop aninhado

samples="sample01 sample02 sample03"
for s in ${samples}
do
    cat ${s}_id1.txt ${s}_id2.txt > ${s}_id12.txt
    for ((t=17, i=1; t<43; t=t+2, i++))
    do 
        echo "[$i] Iteration - t = $t"
        unique.py -o count.txt -t $t ${s}_id12.txt
    done
done
    
por 15.01.2016 / 07:41
1
for ((t=17; t<43; t=t+2))
do 
    samples="sample01 sample02 sample03"
    for s in ${samples}
    do
        cat ${s}_id1.txt ${s}_id2.txt > ${s}_id12.txt
        unique.py -o count.txt -t $t ${s}_id12.txt
    done
done

Com isso eu recebo cada arquivo com t entre 17-41 em count.txt file ( unique.py sobrescreve os resultados com o t correspondente a cada valor em cada samplefile.

sample01_id12.txt 
sample02_id12.txt
sample03_id12.txt
    
por 15.01.2016 / 07:39

Tags