Bonjour,
j'essaie de transformer un script contenant un awk afin d'y ajouter une variable. Je n'arrive à avoir au mieux que des erreurs de syntaxes ou le script qui ne s'arrête pas (sans message d'erreur).
Script initial :
J'essaie de remplacer les fichiers texte par une extraction d'un fichier xml (fichier nommé $ficTmp) :
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
23
24 #!/bin/sh awk ' BEGIN {\ }\ {\ #DEBUT CORPS\ if ((substr($0,293,1) == "O") && ((substr($2,10,1) != "F") && (substr($2,9,2) != "FI")))\ {\ upr=substr($2,1,10);\ commande=sprintf("grep -q \"dep : %s\" log/DESC_UPR.txt",upr);\ if (system(commande) != 0)\ {\ printf ("massage\n", upr)\ }\ }\ \ #FIN CORPS\ }\ END {\ \ }\ ' conf/upr.bin | while read line ; do check_defect $line done
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
23
24
25
26
27 #!/bin/sh ficTmp=$(basename $0).tmp $CMD_XSLTPROC --encoding iso8859-15 $LOC_XSL_SHEET/check_DEP3.xsl conf/upr.xml > $ficTmp awk ' BEGIN {\ }\ {\ #DEBUT CORPS\ if ((substr($0,293,1) == "O") && ((substr($2,10,1) != "F") && (substr($2,9,2) != "FI")))\ {\ upr=substr($2,1,10);\ commande=sprintf("grep -q \"%s\" $ficTemp",upr);\ if (system(commande) != 0)\ {\ printf ("message\n", upr)\ }\ }\ \ #FIN CORPS\ }\ END {\ \ }\ ' $ficTmp | while read line ; do check_defect $line done
Partager