Bonjour le Forum,
Débutant en bash, je souhaiterai optimiser mon premier script.
Lecture d'un fichier avec split sur ";".
Version 1.0
Ce script est fonctionnel, mais ayant lu que l'utilisation d'une boucle "while" était déconseillée, j'essaie d'extraire mes champs de cette façon:
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 while read line do N_ENV=$(echo "$line" | cut -d';' -f1) N_APP=$(echo "$line" | cut -d';' -f2) N_JOB=$(echo "$line" | cut -d';' -f3) V_COM=$(echo "$line" | cut -d';' -f4) # Application du changement # ${PATHVTOM}/vtaddjob /Nom="${N_ENV}/${N_APP}/${N_JOB}" /Comm="${V_COM}" if [ $? -eq 0 ] ; then echo -e "[${VERT}OK${NORMAL}] `date +"%D %H:%M"` # $i \t ENV=${N_ENV} APP=${N_APP} JOB=${N_JOB} \t COM=${V_COM}" else echo -e " [${ROUGE}KO${NORMAL}]" exit 2 fi done < ${FILE_INPUT}
La variable item me renvoie la ligne complète.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for item in $(cut -d";" -f1,4 $FILE_INPUT) do echo $item done
Question: comment lire f1, f2, f3 et f4 ?
Merci par avance de vos suggestions.
Partager