Yop,
ouki, je vais tenter de trouver un truc pas trop lourdmais je sais pas si cela sera posté dans la journée
@++
F-k-z
Yop,
ouki, je vais tenter de trouver un truc pas trop lourdmais je sais pas si cela sera posté dans la journée
@++
F-k-z
ok sachant que sa pourrait bien être autre que :
sa pourrait tout aussi être :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 lawsoncompanyF: 4050 --> lawsoncompanyF:4050-4052 lawsoncompanyF: 4052
ou meme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 lawsoncompanyF: 7 --> lawsoncompanyF:7-10 lawsoncompanyF: 8 lawsoncompanyF: 9 lawsoncompanyF: 10
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 lawsoncompanyF: 104 --> lawsoncompanyF:104-107 lawsoncompanyF: 105 lawsoncompanyF: 106 lawsoncompanyF: 107
Une implémentation qui gère les numérotations avec changement de compagnie![]()
Exemple d'entree :
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 grep -E 'lawsoncompanyF:|lawsoncompanyI:' test1 > fichiertmp1 sort -k1,1 -k2,2n fichiertmp1 > test rm fichiertmp1 awk ' function FctFinEnreg() { if (TopListe == 1) { print "-"Wprecedent TopListe=0 } else { print "" } } BEGIN { Wcie="" Wprecedent=9999999 TopListe=0 } { if ($1 == Wcie || NR == 1) { Wcie=$1 Wsuivant=Wprecedent+1 if ($2 == Wsuivant) { Wprecedent=$2 TopListe=1 next } FctFinEnreg() printf("%s %s",$1,$2) Wprecedent=$2 next } Wcie=$1 FctFinEnreg() printf("%s %s",$1,$2) Wprecedent=$2 } END { FctFinEnreg() } ' test
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 lawsoncompanyI: 2 lawsoncompanyI: 3 lawsoncompanyI: 5 lawsoncompanyI: 6 lawsoncompanyI: 7 lawsoncompanyI: 8 lawsoncompanyF: 9936 lawsoncompanyF: 8 lawsoncompanyF: 4052 lawsoncompanyF: 4051 lawsoncompanyF: 4050 lawsoncompanyF: 4000 lawsoncompanyF: 24 lawsoncompanyF: 2
Sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 lawsoncompanyF: 2 lawsoncompanyF: 8 lawsoncompanyF: 24 lawsoncompanyF: 4000 lawsoncompanyF: 4050-4052 lawsoncompanyF: 9936 lawsoncompanyI: 2-3 lawsoncompanyI: 5-8
Yop,
sympa le code j'avais et j'aurais pas pensé à l'implémanter ainsi
sinon tu pourrais me donner une petite explication de la ligne:
sort -k1,1 -k2,2n fichiertmp1 > test
enfin surtout de -k1,1 -k,2n
Merci d'avance
F-k-z
//edit: ouiki c'ets bon j'ai pigé enfin tu pourras me corriger s'il faut:
-k1,1 car permet de trier selon la premiere colonne
-k2,2n on trie selon la seconde colonne
vraiment trop trop fort !!![]()
le seul bémol c'est que : est t-il possible d'effacer les doublon ?
exemple de fichier d'entrer:
fichier de sortie :
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 lawsoncompanyI: 2 lawsoncompanyI: 3 lawsoncompanyI: 5 lawsoncompanyI: 6 lawsoncompanyI: 7 lawsoncompanyI: 8 lawsoncompanyF: 9936 lawsoncompanyF: 8 lawsoncompanyF: 4052 lawsoncompanyF: 4051 lawsoncompanyF: 4050 lawsoncompanyF: 4000 lawsoncompanyF: 24 lawsoncompanyF: 2 lawsoncompanyF: 4000
merci encore
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 lawsoncompanyF: 2 lawsoncompanyF: 8 lawsoncompanyF: 24 lawsoncompanyF: 4000 lawsoncompanyF: 4000 lawsoncompanyF: 4050-4052 lawsoncompanyF: 9936 lawsoncompanyI: 2-3 lawsoncompanyI: 5-8
hmm...
je vient d'intégrer la commande unik tous est ok .
PS: "une petite explication serait la bien venue "
[QUOTE=karamurat]
le seul bémol c'est que : est t-il possible d'effacer les doublon ?
[\QUOTE]
J'ai oublié de mettre l'option -u dans le sort ( élimine les doublons ) qui permet de se passer de uniq.
Dans le sort, -k2,2n ( n pour numéric ) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part sort -u -k1,1 -k2,2n fichiertmp1 > test
hmm...
Est-ce normal qu'une fois le script générer j'ai bien a l'écran :
mais une fois le fichier ouvert via "more" ou "cat"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 lawsoncompanyF: 2 lawsoncompanyF: 8 lawsoncompanyF: 24 lawsoncompanyF: 4000 lawsoncompanyF: 4050-4052 lawsoncompanyF: 9936 lawsoncompanyI: 2-3 lawsoncompanyI: 5-8
j'ai :
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 dev4: cat test lawsoncompanyF: 2 lawsoncompanyF: 8 lawsoncompanyF: 24 lawsoncompanyF: 4000 lawsoncompanyF: 4050 lawsoncompanyF: 4051 lawsoncompanyF: 4052 lawsoncompanyF: 9936 lawsoncompanyI: 2 lawsoncompanyI: 3 lawsoncompanyI: 5 lawsoncompanyI: 6 lawsoncompanyI: 7 lawsoncompanyI: 8
Yop,
désolé avoir mis autant de tps pour te répondre alors que j'avais la solution
Voila à la fin du script il fallait juste rediriger la sortie vers un fichier ici
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 grep -E 'lawsoncompanyF:|lawsoncompanyI:' test1 > fichiertmp1 sort -k1,1 -k2,2n fichiertmp1 > test rm fichiertmp1 awk ' function FctFinEnreg() { if (TopListe == 1) { print "-"Wprecedent TopListe=0 } else { print "" } } BEGIN { Wcie="" Wprecedent=9999999 TopListe=0 } { if ($1 == Wcie || NR == 1) { Wcie=$1 Wsuivant=Wprecedent+1 if ($2 == Wsuivant) { Wprecedent=$2 TopListe=1 next } FctFinEnreg() printf("%s %s",$1,$2) Wprecedent=$2 next } Wcie=$1 FctFinEnreg() printf("%s %s",$1,$2) Wprecedent=$2 } END { FctFinEnreg() } ' test > testfin
testfin
@++
F-k-z
voici donc la version "BETA" lol de mon script,j'ai renommer "test" en "FILE" :
je l'appelle Conversation_liste_compagnie.sh
j'ai également trouver le moyen de de faire une recherche en boucle :
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 grep -E 'lawsoncompanyF:|lawsoncompanyI:' FILE > fichiertmp1 sort -u -k1,1 -k2,2n fichiertmp1 > fichiertmp2 rm fichiertmp1 awk ' function FctFinEnreg() { if (TopListe == 1) { print "-"Wprecedent TopListe=0 } else { print "" } } BEGIN { Wcie="" Wprecedent=9999999 TopListe=0 } { if ($1 == Wcie || NR == 1) { Wcie=$1 Wsuivant=Wprecedent+1 if ($2 == Wsuivant) { Wprecedent=$2 TopListe=1 next } FctFinEnreg() printf("%s %s",$1,$2) Wprecedent=$2 next } Wcie=$1 FctFinEnreg() printf("%s %s",$1,$2) Wprecedent=$2 } END { FctFinEnreg() } ' fichiertmp2 > FILE1 rm fichiertmp2
je l'appelle "Sortie_liste_compagnie.sh"
le seul bémol c'est comment générer la sortie du script (Sortie_liste_compagnie.sh) en fichier de sortie "FILE" pour que celle ci soit générer par le script (Conversation_liste_compagnie.sh) ?
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 # usage Sortie_liste_compagnie.sh MEA LEVEL_LIST=$* SCRIPT=$0 # le nom de ce script # affiche list des companies pour les niveaux donnees avec $* : ./Lget_company_access.sh $* | grep -i lawsoncompany # continue pour chaque niveau inferieur (lawsonchlidren): ./Lget_company_access.sh $* | grep -i lawsonchildren | cut -f 2 -d" " | while read CHILD do echo child $CHILD # juste pour info , a enlever sh ./${SCRIPT} $CHILD echo # a enlever done
edit :bon j'ai réussi a intégrer le script "Sortie_liste_compagnie.sh" dans le script "Conversation_liste_compagnie.sh" ce qui donne :
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 # usage Sortie_liste_compagnie.sh MEA LEVEL_LIST=$* SCRIPT=$0 # le nom de ce script # affiche list des companies pour les niveaux donnees avec $* : ./Lget_company_access.sh $* | grep -i lawsoncompany # continue pour chaque niveau inferieur (lawsonchlidren): ./Lget_company_access.sh $* | grep -i lawsonchildren | cut -f 2 -d" " | while read CHILD do echo child $CHILD # juste pour info , a enlever sh ./${SCRIPT} $CHILD echo # a enlever done > FILE grep -E 'lawsoncompanyF:|lawsoncompanyI:' FILE > fichiertmp1 sort -u -k1,1 -k2,2n fichiertmp1 > fichiertmp2 rm fichiertmp1 awk ' function FctFinEnreg() { if (TopListe == 1) { print "-"Wprecedent TopListe=0 } else { print "" } } BEGIN { Wcie="" Wprecedent=9999999 TopListe=0 } { if ($1 == Wcie || NR == 1) { Wcie=$1 Wsuivant=Wprecedent+1 if ($2 == Wsuivant) { Wprecedent=$2 TopListe=1 next } FctFinEnreg() printf("%s %s",$1,$2) Wprecedent=$2 next } Wcie=$1 FctFinEnreg() printf("%s %s",$1,$2) Wprecedent=$2 } END { FctFinEnreg() } ' fichiertmp2 > FILE1 rm fichiertmp2![]()
Yop,
pour moi ça à l'air correctau premier coup d'oeil
@++
F-k-z
bon voila ,
je souhaiterai ajouter une condition :
Lorsque j'ai 2 compagnie identique l'un en Full access (lawsoncompanyF: 2)
et l'autre en Inquiry access (lawsoncompanyI: 2) , jevoudrais que c'est le full acces qu'il l'emporte , est-ce possible ?
exemple :
je voudrais passer donc de ça :
a ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 lawsoncompanyF: 2 lawsoncompanyF: 8 lawsoncompanyF: 24 lawsoncompanyF: 4000 lawsoncompanyF: 4010-4020 lawsoncompanyF: 4050-4052 lawsoncompanyF: 9936 lawsoncompanyI: 2-3 lawsoncompanyI: 5-8 lawsoncompanyI: 4020
Merci d'avance ,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 lawsoncompanyF: 2 lawsoncompanyF: 8 lawsoncompanyF: 24 lawsoncompanyF: 4000 lawsoncompanyF: 4010-4020 lawsoncompanyF: 4050-4052 lawsoncompanyF: 9936 lawsoncompanyI: 3 lawsoncompanyI: 5-8
Possible en traitant un fichier d'origine (test00) comme le suivant :
Script ( très utile la commande join ) :
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 lawsoncompanyI: 2 lawsoncompanyI: 3 lawsoncompanyI: 5 lawsoncompanyI: 6 lawsoncompanyI: 7 lawsoncompanyI: 8 lawsoncompanyI: 10 lawsoncompanyI: 4020 lawsoncompanyF: 9936 lawsoncompanyF: 8 lawsoncompanyF: 4052 lawsoncompanyF: 4051 lawsoncompanyF: 4050 lawsoncompanyF: 4000 lawsoncompanyF: 4020 lawsoncompanyF: 24 lawsoncompanyF: 2
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 grep "^lawsoncompanyI" test00 > cieI grep "^lawsoncompanyF" test00 > cieF sort -t":" -k2,2n -u -o cieI cieI sort -t":" -k2,2n -u -o cieF cieF echo "* cie F : " cat cieF echo -e "\n* cie I : " cat cieI join -t":" -1 2 -2 2 -a 1 -a 2 cieF cieI > test01 echo -e "\n* test01 (apres join) : " cat test01 sed -e 's/lawsoncompanyF:lawsoncompanyI$/lawsoncompanyF/' \ -e 's/\(^.*\):\(.*$\)/\2:\1/' test01 > test02 echo -e "\n* test02 (apres reformatage) : " cat test02 sort -k1,1 -k2,2n test02 > test03 echo -e "\n* test03 (apres compactage) : " awk ' function FctFinEnreg() { if (TopListe == 1) { print "-"Wprecedent TopListe=0 } else { print "" } } BEGIN { Wcie="" Wprecedent=9999999 TopListe=0 } { if ($1 == Wcie || NR == 1) { Wcie=$1 Wsuivant=Wprecedent+1 if ($2 == Wsuivant) { Wprecedent=$2 TopListe=1 next } FctFinEnreg() printf("%s %s",$1,$2) Wprecedent=$2 next } Wcie=$1 FctFinEnreg() printf("%s %s",$1,$2) Wprecedent=$2 } END { FctFinEnreg() } ' test03
Traitement :
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 * cie F : lawsoncompanyF: 2 lawsoncompanyF: 8 lawsoncompanyF: 24 lawsoncompanyF: 4000 lawsoncompanyF: 4020 lawsoncompanyF: 4050 lawsoncompanyF: 4051 lawsoncompanyF: 4052 lawsoncompanyF: 9936 * cie I : lawsoncompanyI: 2 lawsoncompanyI: 3 lawsoncompanyI: 5 lawsoncompanyI: 6 lawsoncompanyI: 7 lawsoncompanyI: 8 lawsoncompanyI: 10 lawsoncompanyI: 4020 * test01 (apres join) : 2:lawsoncompanyF:lawsoncompanyI 3:lawsoncompanyI 5:lawsoncompanyI 6:lawsoncompanyI 7:lawsoncompanyI 8:lawsoncompanyF:lawsoncompanyI 10:lawsoncompanyI 24:lawsoncompanyF 4000:lawsoncompanyF 4020:lawsoncompanyF:lawsoncompanyI 4050:lawsoncompanyF 4051:lawsoncompanyF 4052:lawsoncompanyF 9936:lawsoncompanyF * test02 (apres reformatage) : lawsoncompanyF: 2 lawsoncompanyI: 3 lawsoncompanyI: 5 lawsoncompanyI: 6 lawsoncompanyI: 7 lawsoncompanyF: 8 lawsoncompanyI: 10 lawsoncompanyF: 24 lawsoncompanyF: 4000 lawsoncompanyF: 4020 lawsoncompanyF: 4050 lawsoncompanyF: 4051 lawsoncompanyF: 4052 lawsoncompanyF: 9936 * test03 (apres compactage) : lawsoncompanyF: 2 lawsoncompanyF: 8 lawsoncompanyF: 24 lawsoncompanyF: 4000 lawsoncompanyF: 4020 lawsoncompanyF: 4050-4052 lawsoncompanyF: 9936 lawsoncompanyI: 3 lawsoncompanyI: 5-7 lawsoncompanyI: 10
Vraiment j'ai été scotcher sur l'écran (déja a comprendre ) mais là , tu es trop balaize , vraiment bravo et touts mes respects !
pourrait tu faire une modif au niveau du trie ,au lieu que le trie se fasse dabord avec les lawsoncomapnyF je voudrais que le trie s'effectue sur les n° de compagnie ,j'ai essayer de rajouter la commande sort a la fin du script mais sans espoir.. , ex:
fichier sortie générer par le script actuelle :
fichier de sortie trier en fonction des N° de compagnie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 lawsoncompanyF: 2 lawsoncompanyF: 8 lawsoncompanyF: 24 lawsoncompanyF: 4000 lawsoncompanyF: 4020 lawsoncompanyF: 4050-4052 lawsoncompanyF: 9936 lawsoncompanyI: 3 lawsoncompanyI: 5-7 lawsoncompanyI: 10
Merci encore ,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 lawsoncompanyF: 2 lawsoncompanyI: 3 lawsoncompanyI: 5-7 lawsoncompanyF: 8 lawsoncompanyI: 10 lawsoncompanyF: 24 lawsoncompanyF: 4000 lawsoncompanyF: 4020 lawsoncompanyF: 4050-4052 lawsoncompanyF: 9936
hmm... apres avoir fait un sort en dehors du script j'ai remarque des doublons
j'avais une liste d'entrer :
j'ai lancer le script :
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457 lawsoncompanyF: 9900-9999 child APG lawsoncompanyI: 2000 lawsoncompanyI: 905 lawsoncompanyF: 14 lawsoncompanyF: 1733 lawsoncompanyF: 2 lawsoncompanyF: 24 lawsoncompanyF: 311 lawsoncompanyF: 44 lawsoncompanyF: 7 lawsoncompanyF: 77 lawsoncompanyF: 8 lawsoncompanyF: 81 lawsoncompanyF: 89 lawsoncompanyF: 9931 child AU child NZ lawsoncompanyF: 4000 lawsoncompanyF: 4040 child PG child ARM lawsoncompanyI: 2000 lawsoncompanyF: 112 lawsoncompanyF: 113 lawsoncompanyF: 15 lawsoncompanyF: 154 lawsoncompanyF: 16 lawsoncompanyF: 175 lawsoncompanyF: 18 lawsoncompanyF: 188 lawsoncompanyF: 2 lawsoncompanyF: 205 lawsoncompanyF: 21 lawsoncompanyF: 211 lawsoncompanyF: 24 lawsoncompanyF: 26 lawsoncompanyF: 311 lawsoncompanyF: 315 lawsoncompanyF: 4 lawsoncompanyF: 41 lawsoncompanyF: 44 lawsoncompanyF: 47 lawsoncompanyF: 49 lawsoncompanyF: 5 lawsoncompanyF: 62 lawsoncompanyF: 7 lawsoncompanyF: 75 lawsoncompanyF: 78 lawsoncompanyF: 8 lawsoncompanyF: 9 lawsoncompanyF: 929 lawsoncompanyF: 935 lawsoncompanyF: 9932 child BH child KW lawsoncompanyF: 4000 child PK lawsoncompanyF: 4000 child SA lawsoncompanyF: 16 lawsoncompanyF: 2016 lawsoncompanyF: 4000 lawsoncompanyF: 4062 lawsoncompanyF: 5 child Khafji child BMP lawsoncompanyI: 2000 lawsoncompanyF: 156 lawsoncompanyF: 168 lawsoncompanyF: 17 lawsoncompanyF: 1732 lawsoncompanyF: 179 lawsoncompanyF: 181 lawsoncompanyF: 2 lawsoncompanyF: 23 lawsoncompanyF: 24 lawsoncompanyF: 33 lawsoncompanyF: 34 lawsoncompanyF: 343 lawsoncompanyF: 373 lawsoncompanyF: 43 lawsoncompanyF: 52 lawsoncompanyF: 54 lawsoncompanyF: 9 lawsoncompanyF: 9935 lawsoncompanyF: 9933 lawsoncompanyF: 9942 lawsoncompanyF: 9930 child BN lawsoncompanyF: 156 lawsoncompanyF: 168 lawsoncompanyF: 17 lawsoncompanyF: 1732 lawsoncompanyF: 179 lawsoncompanyF: 181 lawsoncompanyF: 2 lawsoncompanyF: 2000 lawsoncompanyF: 23 lawsoncompanyF: 33 lawsoncompanyF: 34 lawsoncompanyF: 4000 lawsoncompanyF: 43 lawsoncompanyF: 52 lawsoncompanyF: 9 lawsoncompanyF: 9930 lawsoncompanyF: 9933 lawsoncompanyF: 9935 lawsoncompanyF: 9942 child MY lawsoncompanyF: 17 lawsoncompanyF: 179 lawsoncompanyF: 2017 lawsoncompanyF: 2034 lawsoncompanyF: 2043 lawsoncompanyF: 2179 lawsoncompanyF: 34 lawsoncompanyF: 4000 lawsoncompanyF: 43 child PH child SG child CHG lawsoncompanyI: 2000 lawsoncompanyI: 311 lawsoncompanyI: 54 lawsoncompanyF: 112 lawsoncompanyF: 147 lawsoncompanyF: 15 lawsoncompanyF: 151 lawsoncompanyF: 153 lawsoncompanyF: 154 lawsoncompanyF: 1697 lawsoncompanyF: 1708 lawsoncompanyF: 1732 lawsoncompanyF: 2 lawsoncompanyF: 21 lawsoncompanyF: 312 lawsoncompanyF: 344 lawsoncompanyF: 347 lawsoncompanyF: 35 lawsoncompanyF: 36 lawsoncompanyF: 37 lawsoncompanyF: 44 lawsoncompanyF: 47 lawsoncompanyF: 50 lawsoncompanyF: 63 lawsoncompanyF: 7 lawsoncompanyF: 77 lawsoncompanyF: 8 lawsoncompanyF: 83 lawsoncompanyF: 9934 child CN child JP child KR child TW child EEG lawsoncompanyI: 2000 lawsoncompanyF: 15 lawsoncompanyF: 151 lawsoncompanyF: 18 lawsoncompanyF: 2 lawsoncompanyF: 26 lawsoncompanyF: 268 lawsoncompanyF: 311 lawsoncompanyF: 4 lawsoncompanyF: 45 lawsoncompanyF: 5 lawsoncompanyF: 58 lawsoncompanyF: 8 lawsoncompanyF: 9935 child EG child ER child ET child JO child KE child SD child SO child SY child TZ child FMC lawsoncompanyI: 2000 lawsoncompanyF: 110 lawsoncompanyF: 113 lawsoncompanyF: 114 lawsoncompanyF: 15 lawsoncompanyF: 151 lawsoncompanyF: 16 lawsoncompanyF: 169 lawsoncompanyF: 1732 lawsoncompanyF: 174 lawsoncompanyF: 18 lawsoncompanyF: 188 lawsoncompanyF: 190 lawsoncompanyF: 2 lawsoncompanyF: 206 lawsoncompanyF: 218 lawsoncompanyF: 281 lawsoncompanyF: 311 lawsoncompanyF: 327 lawsoncompanyF: 343 lawsoncompanyF: 348 lawsoncompanyF: 38 lawsoncompanyF: 384 lawsoncompanyF: 386 lawsoncompanyF: 388 lawsoncompanyF: 389 lawsoncompanyF: 4 lawsoncompanyF: 41 lawsoncompanyF: 5 lawsoncompanyF: 64 lawsoncompanyF: 7 lawsoncompanyF: 74 lawsoncompanyF: 75 lawsoncompanyF: 76 lawsoncompanyF: 77 lawsoncompanyF: 78 lawsoncompanyF: 8 lawsoncompanyF: 9 lawsoncompanyF: 901 lawsoncompanyF: 953 lawsoncompanyF: 9933 lawsoncompanyF: 9935 lawsoncompanyF: 9942 lawsoncompanyF: 9930 child GFM lawsoncompanyI: 1732 lawsoncompanyI: 2000 lawsoncompanyI: 311 lawsoncompanyI: 41 lawsoncompanyF: 15 lawsoncompanyF: 188 lawsoncompanyF: 2 lawsoncompanyF: 24 lawsoncompanyF: 253 lawsoncompanyF: 26 lawsoncompanyF: 379 lawsoncompanyF: 4 lawsoncompanyF: 44 lawsoncompanyF: 5 lawsoncompanyF: 8 lawsoncompanyF: 9936 child AE child OM lawsoncompanyF: 2 lawsoncompanyF: 24 lawsoncompanyF: 4000 lawsoncompanyF: 4050 lawsoncompanyF: 4051 lawsoncompanyF: 4052 lawsoncompanyF: 8 child YE lawsoncompanyF: 4000 child ING lawsoncompanyI: 1708 lawsoncompanyI: 1999 lawsoncompanyI: 2000 lawsoncompanyF: 12 lawsoncompanyF: 15 lawsoncompanyF: 1568 lawsoncompanyF: 1735 lawsoncompanyF: 184 lawsoncompanyF: 186 lawsoncompanyF: 188 lawsoncompanyF: 2 lawsoncompanyF: 29 lawsoncompanyF: 311 lawsoncompanyF: 32 lawsoncompanyF: 38 lawsoncompanyF: 44 lawsoncompanyF: 64 lawsoncompanyF: 67 lawsoncompanyF: 9 lawsoncompanyF: 92 lawsoncompanyF: 9937 child ID lawsoncompanyI: 15 lawsoncompanyI: 1708 lawsoncompanyI: 1999 lawsoncompanyI: 2 lawsoncompanyI: 311 lawsoncompanyF: 12 lawsoncompanyF: 1568 lawsoncompanyF: 1735 lawsoncompanyF: 184 lawsoncompanyF: 186 lawsoncompanyF: 188 lawsoncompanyF: 2000 lawsoncompanyF: 29 lawsoncompanyF: 32 lawsoncompanyF: 38 lawsoncompanyF: 4000 lawsoncompanyF: 64 lawsoncompanyF: 67 lawsoncompanyF: 9 lawsoncompanyF: 92 lawsoncompanyF: 9937 child JOP child KAL child CTX child INM lawsoncompanyI: 1996 lawsoncompanyI: 1998 lawsoncompanyI: 2000 lawsoncompanyF: 1999 lawsoncompanyF: 2 lawsoncompanyF: 311 lawsoncompanyF: 339 lawsoncompanyF: 41 lawsoncompanyF: 44 lawsoncompanyF: 47 lawsoncompanyF: 7 lawsoncompanyF: 74 lawsoncompanyF: 8 lawsoncompanyF: 9938 child IN lawsoncompanyI: 1996 lawsoncompanyI: 1998 lawsoncompanyF: 1999 lawsoncompanyF: 2 lawsoncompanyF: 2000 lawsoncompanyF: 2339 lawsoncompanyF: 311 lawsoncompanyF: 339 lawsoncompanyF: 4000 lawsoncompanyF: 41 lawsoncompanyF: 44 lawsoncompanyF: 47 lawsoncompanyF: 7 lawsoncompanyF: 74 lawsoncompanyF: 8 lawsoncompanyF: 9938 child IRG lawsoncompanyI: 2000 lawsoncompanyI: 311 lawsoncompanyF: 150 lawsoncompanyF: 18 lawsoncompanyF: 2 lawsoncompanyF: 20 lawsoncompanyF: 41 lawsoncompanyF: 46 lawsoncompanyF: 5 lawsoncompanyF: 58 lawsoncompanyF: 62 lawsoncompanyF: 9939 child IR lawsoncompanyF: 150 lawsoncompanyF: 2 lawsoncompanyF: 20 lawsoncompanyF: 2000 lawsoncompanyF: 4000 lawsoncompanyF: 41 lawsoncompanyF: 46 lawsoncompanyF: 5 lawsoncompanyF: 58 lawsoncompanyF: 62 lawsoncompanyF: 9939 child TMV lawsoncompanyI: 1995 lawsoncompanyI: 1996 lawsoncompanyI: 1997 lawsoncompanyI: 1998 lawsoncompanyI: 1999 lawsoncompanyI: 2000 lawsoncompanyF: 1730 lawsoncompanyF: 18 lawsoncompanyF: 2 lawsoncompanyF: 4 lawsoncompanyF: 41 lawsoncompanyF: 60 lawsoncompanyF: 7 lawsoncompanyF: 9 lawsoncompanyF: 9941 child BD child MM lawsoncompanyF: 4000 child TH lawsoncompanyF: 4000 lawsoncompanyF: 4031 child VN lawsoncompanyF: 2060 lawsoncompanyF: 4000 lawsoncompanyF: 60 child KH child MEA_PHQ child MEA_FE child MEA_C/JA child QTG lawsoncompanyI: 2000 lawsoncompanyF: 15 lawsoncompanyF: 16 lawsoncompanyF: 2 lawsoncompanyF: 24 lawsoncompanyF: 26 lawsoncompanyF: 311 lawsoncompanyF: 41 lawsoncompanyF: 5 lawsoncompanyF: 58 lawsoncompanyF: 6 lawsoncompanyF: 62 lawsoncompanyF: 8 child QA lawsoncompanyF: 2 lawsoncompanyF: 4000 lawsoncompanyF: 4060
fichier sortie :
j'ai fait le trie en fct des N°de compagnie avec la commande "sort":
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
78
79
80
81
82
83
84
85
86
87
88 lawsoncompanyF: 2 lawsoncompanyF: 4-9 lawsoncompanyF: 12 lawsoncompanyF: 14-18 lawsoncompanyF: 20-21 lawsoncompanyF: 23-24 lawsoncompanyF: 26 lawsoncompanyF: 29 lawsoncompanyF: 32-38 lawsoncompanyF: 41 lawsoncompanyF: 43-47 lawsoncompanyF: 49-50 lawsoncompanyF: 52 lawsoncompanyF: 54 lawsoncompanyF: 58 lawsoncompanyF: 60 lawsoncompanyF: 62-64 lawsoncompanyF: 67 lawsoncompanyF: 74-78 lawsoncompanyF: 81 lawsoncompanyF: 83 lawsoncompanyF: 89 lawsoncompanyF: 92 lawsoncompanyF: 110 lawsoncompanyF: 112-114 lawsoncompanyF: 147 lawsoncompanyF: 150-151 lawsoncompanyF: 153-154 lawsoncompanyF: 156 lawsoncompanyF: 168-169 lawsoncompanyF: 174-175 lawsoncompanyF: 179 lawsoncompanyF: 181 lawsoncompanyF: 184 lawsoncompanyF: 186 lawsoncompanyF: 188 lawsoncompanyF: 190 lawsoncompanyF: 205-206 lawsoncompanyF: 211 lawsoncompanyF: 218 lawsoncompanyF: 253 lawsoncompanyF: 268 lawsoncompanyF: 281 lawsoncompanyF: 311-312 lawsoncompanyF: 315 lawsoncompanyF: 327 lawsoncompanyF: 339 lawsoncompanyF: 343-344 lawsoncompanyF: 347-348 lawsoncompanyF: 373 lawsoncompanyF: 379 lawsoncompanyF: 384 lawsoncompanyF: 386 lawsoncompanyF: 388-389 lawsoncompanyF: 901 lawsoncompanyF: 929 lawsoncompanyF: 935 lawsoncompanyF: 953 lawsoncompanyF: 1568 lawsoncompanyF: 1697 lawsoncompanyF: 1708 lawsoncompanyF: 1730 lawsoncompanyF: 1732-1733 lawsoncompanyF: 1735 lawsoncompanyF: 1999-2000 lawsoncompanyF: 2016-2017 lawsoncompanyF: 2034 lawsoncompanyF: 2043 lawsoncompanyF: 2060 lawsoncompanyF: 2179 lawsoncompanyF: 2339 lawsoncompanyF: 4000 lawsoncompanyF: 4031 lawsoncompanyF: 4040 lawsoncompanyF: 4050-4052 lawsoncompanyF: 4060 lawsoncompanyF: 4062 lawsoncompanyF: 9900-9999 lawsoncompanyF: 9930-9939 lawsoncompanyF: 9941-9942 lawsoncompanyI: 15 lawsoncompanyI: 41 lawsoncompanyI: 54 lawsoncompanyI: 311 lawsoncompanyI: 905 lawsoncompanyI: 1708 lawsoncompanyI: 1732 lawsoncompanyI: 1995-2000
je constate des doublons (vert)
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
78
79
80
81
82
83
84
85
86
87
88 lawsoncompanyF: 2 lawsoncompanyF: 4-9 lawsoncompanyF: 12 lawsoncompanyF: 14-18 lawsoncompanyI: 15 lawsoncompanyF: 20-21 lawsoncompanyF: 23-24 lawsoncompanyF: 26 lawsoncompanyF: 29 lawsoncompanyF: 32-38 lawsoncompanyF: 41 lawsoncompanyI: 41 lawsoncompanyF: 43-47 lawsoncompanyF: 49-50 lawsoncompanyF: 52 lawsoncompanyF: 54 lawsoncompanyI: 54 lawsoncompanyF: 58 lawsoncompanyF: 60 lawsoncompanyF: 62-64 lawsoncompanyF: 67 lawsoncompanyF: 74-78 lawsoncompanyF: 81 lawsoncompanyF: 83 lawsoncompanyF: 89 lawsoncompanyF: 92 lawsoncompanyF: 110 lawsoncompanyF: 112-114 lawsoncompanyF: 147 lawsoncompanyF: 150-151 lawsoncompanyF: 153-154 lawsoncompanyF: 156 lawsoncompanyF: 168-169 lawsoncompanyF: 174-175 lawsoncompanyF: 179 lawsoncompanyF: 181 lawsoncompanyF: 184 lawsoncompanyF: 186 lawsoncompanyF: 188 lawsoncompanyF: 190 lawsoncompanyF: 205-206 lawsoncompanyF: 211 lawsoncompanyF: 218 lawsoncompanyF: 253 lawsoncompanyF: 268 lawsoncompanyF: 281 lawsoncompanyF: 311-312 lawsoncompanyI: 311 lawsoncompanyF: 315 lawsoncompanyF: 327 lawsoncompanyF: 339 lawsoncompanyF: 343-344 lawsoncompanyF: 347-348 lawsoncompanyF: 373 lawsoncompanyF: 379 lawsoncompanyF: 384 lawsoncompanyF: 386 lawsoncompanyF: 388-389 lawsoncompanyF: 901 lawsoncompanyI: 905 lawsoncompanyF: 929 lawsoncompanyF: 935 lawsoncompanyF: 953 lawsoncompanyF: 1568 lawsoncompanyF: 1697 lawsoncompanyF: 1708 lawsoncompanyI: 1708 lawsoncompanyF: 1730 lawsoncompanyF: 1732-1733 lawsoncompanyI: 1732 lawsoncompanyF: 1735 lawsoncompanyI: 1995-2000 lawsoncompanyF: 1999-2000 lawsoncompanyF: 2016-2017 lawsoncompanyF: 2034 lawsoncompanyF: 2043 lawsoncompanyF: 2060 lawsoncompanyF: 2179 lawsoncompanyF: 2339 lawsoncompanyF: 4000 lawsoncompanyF: 4031 lawsoncompanyF: 4040 lawsoncompanyF: 4050-4052 lawsoncompanyF: 4060 lawsoncompanyF: 4062 lawsoncompanyF: 9900-9999 lawsoncompanyF: 9930-9939 lawsoncompanyF: 9941-9942
Effectivement, présence d'un petit bugEnvoyé par karamurat
![]()
sort -t":" -k2,2n -u -o cieI cieI
sort -t":" -k2,2n -u -o cieF cieF
Procédure corrigée :
Traitement d'un fichier test00, résultat dans resultat.txt :
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 grep "^lawsoncompanyI" test00 > cieI grep "^lawsoncompanyF" test00 > cieF sort -t":" -k2,2 -u -o cieI cieI sort -t":" -k2,2 -u -o cieF cieF echo "* cie F : " cat cieF echo -e "\n* cie I : " cat cieI join -t":" -1 2 -2 2 -a 1 -a 2 cieF cieI > test01 echo -e "\n* test01 (apres join) : " cat test01 sed -e 's/lawsoncompanyF:lawsoncompanyI$/lawsoncompanyF/' \ -e 's/\(^.*\):\(.*$\)/\2:\1/' test01 > test02 echo -e "\n* test02 (apres reformatage) : " cat test02 sort -k1,1 -k2,2n test02 > test03 awk ' function FctFinEnreg() { if (TopListe == 1) { print "-"Wprecedent TopListe=0 } else { print "" } } BEGIN { Wcie="" Wprecedent=9999999 TopListe=0 } { if ($1 == Wcie || NR == 1) { Wcie=$1 Wsuivant=Wprecedent+1 if ($2 == Wsuivant) { Wprecedent=$2 TopListe=1 next } FctFinEnreg() printf("%s %s",$1,$2) Wprecedent=$2 next } Wcie=$1 FctFinEnreg() printf("%s %s",$1,$2) Wprecedent=$2 } END { FctFinEnreg() } ' test03 > test04 sort -k2,2n -k1,1 test04 > resultat.txt echo -e "\n* resultat (apres compactage et tri) : " cat resultat.txt
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
78
79
80
81
82
83 lawsoncompanyF: 2 lawsoncompanyF: 4-9 lawsoncompanyF: 12 lawsoncompanyF: 14-18 lawsoncompanyF: 20-21 lawsoncompanyF: 23-24 lawsoncompanyF: 26 lawsoncompanyF: 29 lawsoncompanyF: 32-38 lawsoncompanyF: 41 lawsoncompanyF: 43-47 lawsoncompanyF: 49-50 lawsoncompanyF: 52 lawsoncompanyF: 54 lawsoncompanyF: 58 lawsoncompanyF: 60 lawsoncompanyF: 62-64 lawsoncompanyF: 67 lawsoncompanyF: 74-78 lawsoncompanyF: 81 lawsoncompanyF: 83 lawsoncompanyF: 89 lawsoncompanyF: 92 lawsoncompanyF: 110 lawsoncompanyF: 112-114 lawsoncompanyF: 147 lawsoncompanyF: 150-151 lawsoncompanyF: 153-154 lawsoncompanyF: 156 lawsoncompanyF: 168-169 lawsoncompanyF: 174-175 lawsoncompanyF: 179 lawsoncompanyF: 181 lawsoncompanyF: 184 lawsoncompanyF: 186 lawsoncompanyF: 188 lawsoncompanyF: 190 lawsoncompanyF: 205-206 lawsoncompanyF: 211 lawsoncompanyF: 218 lawsoncompanyF: 253 lawsoncompanyF: 268 lawsoncompanyF: 281 lawsoncompanyF: 311-312 lawsoncompanyF: 315 lawsoncompanyF: 327 lawsoncompanyF: 339 lawsoncompanyF: 343-344 lawsoncompanyF: 347-348 lawsoncompanyF: 373 lawsoncompanyF: 379 lawsoncompanyF: 384 lawsoncompanyF: 386 lawsoncompanyF: 388-389 lawsoncompanyF: 901 lawsoncompanyI: 905 lawsoncompanyF: 929 lawsoncompanyF: 935 lawsoncompanyF: 953 lawsoncompanyF: 1568 lawsoncompanyF: 1697 lawsoncompanyF: 1708 lawsoncompanyF: 1730 lawsoncompanyF: 1732-1733 lawsoncompanyF: 1735 lawsoncompanyI: 1995-1998 lawsoncompanyF: 1999-2000 lawsoncompanyF: 2016-2017 lawsoncompanyF: 2034 lawsoncompanyF: 2043 lawsoncompanyF: 2060 lawsoncompanyF: 2179 lawsoncompanyF: 2339 lawsoncompanyF: 4000 lawsoncompanyF: 4031 lawsoncompanyF: 4040 lawsoncompanyF: 4050-4052 lawsoncompanyF: 4060 lawsoncompanyF: 4062 lawsoncompanyF: 9900-9999 lawsoncompanyF: 9930-9939 lawsoncompanyF: 9941-9942
Vraiment Nickel !![]()
Partager