Bonjour;
Alors tout est dans le sujet...
Est - il possible de passer en paramètre d'un script awk, 2 paramètres... et de surtout les ré-utiliser ensuite ?
Voici mon script AWK qui plante... avec l'erreur... :
Merci de votre aide....
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
22 # CheckPatternString(col:num, pattern:reg_exp) # CheckPatternString() { awk -v col=$2 -v pattern=$3 -F ';' ' NF>0 { if ( match($col,$pattern) ) { print "**** ERREUR dans un champ ! ligne:"NR"**** Valeur en cause :"$col"****"; print "****"$0"****"; exit 1; } }' $1 } # [....] L'erreur obtenue : awk: Field /^Mme$|^M$|^Mlle$|^$/ is not correct. The input line number is 1. The file is RGEUsersVerole.csv_WBLANKS. The source line number is 3.
PS/ Je sais... ce awk est "debile" mais c'est en fait une sous fonction de mon programme Shell Bash SH
En voici l'appel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 # # On verifie le champ 1 (Civilité) # echo "-- DEBUT -- CheckPatternString Civilite" RegExpCivilite="^Mme$|^M$|^Mlle$|^$"; CheckPatternString $FIC_ENTREE_WBLANKS 1 $RegExpCivilite if [ $? != 0 ]; then { CatchError Error "001" $FIC_ENTREE $FIC_ENTREE_WBLANKS } fi echo "-- FIN -- CheckPatternString Civilite"
Partager