bonjour,
voici un script qui me pose bien des soucis
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 #!/bin/ksh #*************************************************************************** #* Parametres * #*************************************************************************** #Variable : NOW=`date +"%Y%m%d%H%M%S"` #Arborescence serveur : DIR=${HOME}/utils/Eric/ExtraireNOEMIE DIR_LOG=${DIR}/log DIR_RES=${DIR}/res DIR_TMP=${DIR}/tmp FIC_LOG=${DIR_LOG}/type00$NOW.log FIC_ligne=${DIR_TMP}/lignefic$NOW.txt # Element d'information Les structures NOEMIE d'identification # Norme NOEMIE -- ENTITE ---000. type_000() { # echo $log # echo "000" # NOE_TYE=`echo "${ligne}" | awk '{print substr( $0 , 4 , 2) }'` echo " extraction ENTITE ---000 == " >> ${FIC_LOG} NOE_TYE=`echo "${ligne}" | cut -c 4-5` NOE_NUE=`echo "${ligne}" | cut -c 6-19` numemet=`echo "$ligne" | cut -c 6-19` NOE_NUE_000=`echo "${ligne}" | awk '{print substr( $0 , 6 , 14) }'` echo " en type 000 " echo "NOE_NUE:" ${NOE_NUE} echo "numemet:" ${numemet} echo "NOE_NUE_000:" ${NOE_NUE_000} } #*************************************************************************** #* Traitement * #*************************************************************************** echo "Debut du script : " `date +"%d/%m/%Y %H:%M:%S"` > ${FIC_LOG} echo " " >> ${FIC_LOG} # Verification de la presence du parametre de lancement if [ $# -ne 1 ]; then echo " TEST000.ksh ==> Erreur : Veuillez entrer le nom du fichier a analyser suivie du nom du fichier physique" >> $log echo " TEST000.ksh == " >> $log echo " TEST000.ksh ==> Fin extraction_NOEMIE " >> $log echo " TEST000.ksh == " >> $log exit 9 fi # Acquisition du parametre FIC_IN=$1 echo "TEST000" #Extraction des données du fichier logique while read ligne do NOE_TYP=`echo "${ligne}" | cut -c 1-3` NOE_NIV=`echo "${ligne}" | cut -c 4-5` case $NOE_TYP in 000 ) echo "Directe dans le cast" echo "${ligne}" NOE_NUE=`echo "${ligne}" | cut -c 6-19` echo "NOE_NUE:" ${NOE_NUE} type_000;; esac done < $FIC_IN
Et voici le fichier "text" a analyser
et donc on lancer nommer type000.ksh
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 000CP 01886600 ZU 8dd00294 QD014021401255689 000NU 000 01001456544d@ 000XC 01909000 ZU0000008cc00294 QRN01402140136688 000NU 000 01001456544d@ 000CP 01909000 ZU 8ee00294 QPN01402140146687 000NU 000 01001456544d@ 000XC 01909000 ZU0000008ff00294 QDN01402140156689 000NU 000 01001456544d@ 000CP 01909000 ZU0000008dd00294 QRN01402140116688 000NU 000 01001456544d@ 000XC 01909000 ZU0000008ee00294 QNN01402140116687 000NU 000 01001456544d@
avec comme paramètre le nom du fichier text
Pourquoi
le code
renvoi t'il comme valeur " 01886600" et non " 01886600" .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 echo "NOE_NUE:" ${NOE_NUE} echo "numemet:" ${numemet} echo "NOE_NUE_000:" ${NOE_NUE_000}
ou son donc passer les 6 caractères blanc en début de cette zone?
pourquoi y a t'il troncature de 5 caractères blanc pour les 6 présents.
LEs autres zones qui suivent sont aussi troncquer? why ? Help.
Partager