Bonjour à tous,

Je suis face à un comportement de la commande sort que je ne comprends pas. Pour faire simple, voilà des petits exemples qui montrent où ça coince :

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
cat > test1
ACE
ACE2
 
sort test1
ACE
ACE2
 
cat > test2
ACE;
ACE2;
 
sort -t ";" -k 1 test2
ACE;
ACE2;
 
sort -t ";" +0 test2
ACE;
ACE2;
 
cat > test3
ACE;bla
ACE2;bla
 
sort -t ";" -k 1 test3
ACE2;bla
ACE;bla
 
cat > test4
bla;ACE
bla;ACE2
 
sort -t ";" -k 2 test4
bla;ACE
bla;ACE2
Je ne comprends pas le résultat du test3... Et c'est très gênant car je dois en fait faire un join entre deux fichiers bien plus conséquents. Le premier ressemble au test3; le second au test4 et la jointure se fait sur la colonne contenant ACE et ACE2. Le join se plaint donc d'un tri incorrect sur le premier fichier...

Pour info : sort (GNU coreutils) 7.1
D'autre part, j'ai déjà essayé de faire un tri numérique sur chacun de mes fichiers, cela ne convient pas au join.

Si vous aviez qq explications ou une idée pour que je réussisse à faire le join, cela serait super.

Merci d'avance!!

LMS