Bonjour,

Mon entreprise m'a demandé de programmer en langage UNIX un script à partir de la spécification détaillée ci dessous.

Ne connaissant pas très bien UNIX, pouvez vous me donner un coup de main ?

Merci d'avance.

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
2 sortes de fichier (.csv)  en entrée :	
Loc_S1_20070404.csv_20060405_220000
Loc_R1_20070411.csv_20060412_2200000
Loc_N1_20070406.csv_20060407_220000
Loc_........................

Fac_S1_20070408.csv_20060409_220000
Fac_R1_20070408.csv_20060409_220000
Fac_N1_20060408.csv_20060409_2200000
Fac_……………..

Structure de ces fichiers (.csv) (avec séparateur ‘ ; ‘) ;

xxxxxxxx;xxxxxxx;xx;xxxxxxx;xxx;01/04/2007;XXXXX;….. ;Z_1_S1; ……
xxxxxxxx;xxxxxxx;xx;xxxxxxx;xxx;01/04/2007;XXXXX;….. ;Z_1_S2; ……
xxxxxxxx;xxxxxxx;xx;xxxxxxx;xxx;01/04/2007;XXXXX;….. ;Z_1_S3; ……

Créer 2 scripts distincts (UNIX / AWK ?) :

1 script qui traite les fichiers Loc_*_2007*.csv_* :

Lire tous les fichiers Loc_*_2007*.csv_* du répertoire courant.

a) Sélection des lignes possédant en 6ème position ‘2007ET en 15ème position la chaîne ‘Z_1_S1ET en 20ème position la chaîne ‘ORIGINAL ’
Pour ces lignes sélectionnées, effectuer un comptage -> ORIGINAL = XXXX

b) Sélection des lignes possédant en 6ème position ‘2007ET en 15ème position la chaîne ‘Z_1_S1ET en 20ème position la chaîne ‘DUPLICATA ’.
Pour ces lignes sélectionnées, effectuer un comptage -> DUPLICAT 1 = XXXXX

1 script qui traite les fichiers Fac_*_2007*.csv_* :

Lire tous les fichiers Fac_*_2007*.csv_* du répertoire courant.

a) Sélection des lignes possédant en 6ème position ‘2007ET en 18ème position la chaîne ‘Z_1_S2ET en 20ème position la chaîne ‘ORIGINAL ’
Pour ces lignes sélectionnées, effectuer un comptage -> ORIGINAL = XXXX

b) Sélection des lignes possédant en 6ème position ‘2007ET en 18ème position la chaîne ‘Z_1_S2ET en 20ème position la chaîne ‘DUPLICATA ’
Pour ces lignes sélectionnées, effectuer un comptage -> DUPLICAT 1 = XXXXX

c) Sélection des lignes possédant en 6ème position ‘2007ET en 18ème position la chaîne ‘Z_1_S2 ET en 20ème position la chaîne ‘DUPLICATA_GED ’
Pour ces lignes sélectionnées, effectuer un comptage -> DUPLICATA 2 = XXXXX