Bonjour,

Je récupère des données provenant de plusieurs fichiers ayant tous la même forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
toto-1.6-1.6.out toto-1.6-1.7.out .......toto-2.5-2.5.out
de la façon suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for (( i=0 ; $i <= 15 ; i++ ))
do
        d1=$(echo "1.6 + $i * 0.1" | bc )
 
        for (( j=0 ; j <= 15 ; j++ ))
        do
                d2=$(echo "1.6 + $j * 0.1" | bc )
                if [ -f toto-$d1-$d2.out* ] ;then 
                energy[$i_$j]=$(grep 'tutt' toto-$d1-$d2.out* | awk 'NR = 1 {print $5}' )  #recuperation de la valeur de l energie
                energy[$i_$j]=$( echo "( $Somme_ref -  ${energy[$i_$j]})* 627.509 " |bc )  # calcul de l energie en kcal
                #echo "${energy[$i_$j]}"
                else 
                energy[$i_$j]=$(echo "--" )
                #echo "${energy[$i_$j]}"
                fi
        done
done
En quelque sorte, j'ai un tableau à deux dimensions.

Ce que je voudrais faire c'est écrire le résultat de la façon suivante :
valeur de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
1.6_1.6  1.6_1.7 .....1.6_2.5
1.7_1.6  1.7_1.7 .....
......
2.5_1.6
Comme je veux pas tout changer si j'ai un tableau de dimension différentes, je veux éviter un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
echo "${energy[1_1]} ${energy[1_2]}  ${energy[1_3]}   ${energy[1_4]}   " >> tutu
echo "${energy[2_1]} ${energy[2_2]}  ${energy[2_3]}   ${energy[2_4]}   " >> tutu
echo "${energy[3_1]} ${energy[3_2]}  ${energy[3_3]}   ${energy[3_4]}   " >> tutu


J'avais pensé à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
for (( i=0 ; $i <= 15 ; i++ ))
do
        for (( j=0 ; j <= 15 ; j++ ))
        do
 
    echo "${energy[$i_$j]}" >> tutu
 
        done
done
Mais ça va me produire une suite de ligne.
Alors comment faire ?
Faut il produire des colonnes que l'on place les unes à côté des autres si oui comment faire ? Ou faut il produire une suite de ligne et là aussi comment faire ?