problème sort fichier plusieurs colonnes
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:
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