Bonjour,
Après de multiples recherches sur notre cher ami Google et ici je me tourne à vous!
mon probleme est le suivant :
je dispose d'un répertoire contenant des fichiers suivant une norme de nommage :
"Constructeur"_"CodeAno"_"TYpeMU"_"NumeroCat".sql
"Constructeur" : Chaine (soit Alca soit Siem)
"CodeAno" : Numerique (soit 25,41,42,95,139)
"TypeMU" : Chaine (soit MOC, TR, SMSMO, CFC, CFU)
"NumeroCat" : Numerique (de 1 à 20)
le but est d'avoir un ordre multicritères :
en premier sur "CodeAno" (un ordre croissant)
en second sur "TypeMU" (un ordre croissant)
le dernier sur "NumeroCat" (un ordre croissant)
voici le contenu de mon répertoire et de ce que je veux avoir en sortie :
le tri voulu est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 > ls *.sql Alca_139_MOC_1.sql Alca_25_MOC_3.sql Alca_25_MOC_9.sql Alca_42_TR_1.sql Alca_139_TR_1.sql Alca_25_MOC_4.sql Alca_25_SMSMO_1.sql Alca_42_TR_2.sql Alca_139_T_NONCAT.sql Alca_25_MOC_5.sql Alca_25_T_NONCAT.sql Alca_42_T_NONCAT.sql Alca_25_MOC_1.sql Alca_25_MOC_6.sql Alca_41_MOC_1.sql Alca_95_MOC_1.sql Alca_25_MOC_10.sql Alca_25_MOC_7.sql Alca_41_MOC_2.sql Alca_95_TR_1.sql Alca_25_MOC_2.sql Alca_25_MOC_8.sql Alca_41_T_NONCAT.sql Alca_95_T_NONCAT.sql
Je vous rappel que je suis sur HP UNIX et mon script est en 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
19
20
21
22
23
24 Alca_25_MOC_1.sql Alca_25_MOC_2.sql Alca_25_MOC_3.sql Alca_25_MOC_4.sql Alca_25_MOC_5.sql Alca_25_MOC_6.sql Alca_25_MOC_7.sql Alca_25_MOC_8.sql Alca_25_MOC_9.sql Alca_25_MOC_10.sql Alca_25_SMSMO_1.sql Alca_25_T_NONCAT.sql Alca_41_MOC_1.sql Alca_41_MOC_2.sql Alca_41_T_NONCAT.sql Alca_42_TR_1.sql Alca_42_TR_2.sql Alca_42_T_NONCAT.sql Alca_95_MOC_1.sql Alca_95_TR_1.sql Alca_95_T_NONCAT.sql Alca_139_MOC_1.sql Alca_139_TR_1.sql Alca_139_T_NONCAT.sql
Merci
Partager