Bonjour
je suis en shell linux. Ca fait des heures que je cherche sur les forums (comme ici : http://www.developpez.net/forums/d10...ourir-fichier/ ) et que je tente des trucs, mais rien n'y fait. Ca semble assez simple pourtant.

Pour expliquer : mon répertoire contient 10 fichiers .txt qui doivent être passés à la moulinette d'un prog.awk. A cela il faut ajouter 2 arguments col1 et col2. Le problème est que les valeurs de col1 et col2 - dans le détail col1 est un string et col2 un nombre - doivent être récupérés d'un tierce fichier (param.dat) qui a 10 lignes par 3 colonnes (la 3e colonne est inusitée). Il faudrait donc pouvoir lire, à chaque boucle de for, la i-ième ligne du param.dat, et récupérer la colonne1 pour le premier argument d'awk, et la colonne2 pour le second. J'avais pensé à lire le param.dat avant la boucle for et le stocker en 3 arrays de colonnes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
#!/bin/sh
while read -a col1 col2 col3; do ; done < param.dat
for fichier in *.txt ; do
	i=`expr $i + 1`
	awk -v arg1=${col1[$i]} -v arg2=${col2[$i]} -f prog.awk $fichier
done
Je suis pas fort en shell. Une idée ? Merci d'avance