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 :
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
le tri voulu est :
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
Je vous rappel que je suis sur HP UNIX et mon script est en sh.

Merci