Bonjour à tous,
Je dois exécuter plusieurs un fichier et avant chaque exécution je dois charger un jeux de paramètres différents.
Pour cela, j'utilise un script bash et un fichier texte qui contient ligne par ligne les paramètre de je veux charger.
Le fichier texte (test.txt) :
1 11 21 31
2 12 22 32
3 13 23 33
Avec mon script Bash je souhaite lire ce fichier texte ligne par ligne. A chaque fois que je lis une ligne, je charge les paramètres qui sont distribués en colonne dans le fichier texte les uns après les autres.
Ensuit j'exécute mon programme et je répète cela jusqu'à la dernière ligne de mon programme. Voici le script que j'utilise :
J'ai souci avec l'utilisation de ma variable d'itération $i avec awk.
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
18
19
20
21 #!/bin/bash set -a Param while read ligne do NbCol=$(echo $ligne | awk '{print NF}') for (( i=1; i <= $NbCol; i++ )) do Param[$i]=$(echo $ligne | awk '{print $i}') export Param[$i] echo ${Param[$i]} done #Ici : Le programme à exécuter done <test.txt exit0
Normalement je devrais avoir pour la première ligne :
Param[1] = 1
Param[2] = 11
Param[3] = 21
Param[4] = 31
Mais j'obtiens :
Param[1] = 1 11 21 31
Param[2] = 1 11 21 31
Param[3] = 1 11 21 31
Param[4] = 1 11 21 31
Quelqu'un peut-il m'aider?
Partager