Utiliser sort pour trier les colonnes d'un csv
Résolu
mortel
-
mortel -
mortel -
Bonjour,
J'ai un fichier dont le contenu est comme ça
LE_VAL;K1;BOULOGNE_CLEMEN;T1
LE_VAL;K2;BOULOGNE_CLEMEN;T2
LE_VAL;K3;BOULOGNE_CLEMEN;T3
LE_VAL;K4;BOULOGNE_CLEMEN;T4
LE_VAL;K5;BOULOGNE_CLEMEN;T5
LE_VAL;K1;BELLEVUE;T3
LE_VAL;;HAVRE_CAUMARTIN;Z2
ISSY_BRIAND;K3;BOULOGNE_CLEMEN;T3
LE_VAL;;PARC_DES_PRINCE;EXC
ISSY_BRIAND;K1;BELLEVUE;T1
ISSY_BRIAND;K2;BELLEVUE;T2
ISSY_BRIAND;K3;BELLEVUE;T3
ISSY_BRIAND;K4;BELLEVUE;T4
ISSY_BRIAND;K5;BELLEVUE;T5
LE_VAL;K3;BELLEVUE;T2
ISSY_BRIAND;K2;PARC_DES_PRINCE;T2
en utilisant excel, je trie la 4eme colonne puis la 2eme colonne puis la 3eme colonne puis la 1ere colonne, et j'obtiens ce que je veux c'est à dire :
ISSY_BRIAND;K1;BELLEVUE;T1
ISSY_BRIAND;K2;BELLEVUE;T2
ISSY_BRIAND;K3;BELLEVUE;T3
ISSY_BRIAND;K4;BELLEVUE;T4
ISSY_BRIAND;K5;BELLEVUE;T5
ISSY_BRIAND;K3;BOULOGNE_CLEMEN;T3
ISSY_BRIAND;K2;PARC_DES_PRINCE;T2
LE_VAL;K1;BELLEVUE;T3
LE_VAL;K3;BELLEVUE;T2
LE_VAL;K1;BOULOGNE_CLEMEN;T1
LE_VAL;K2;BOULOGNE_CLEMEN;T2
LE_VAL;K3;BOULOGNE_CLEMEN;T3
LE_VAL;K4;BOULOGNE_CLEMEN;T4
LE_VAL;K5;BOULOGNE_CLEMEN;T5
LE_VAL;;HAVRE_CAUMARTIN;Z2
LE_VAL;;PARC_DES_PRINCE;EXC
sous linux Red Hat Enterprise Linux Server release 6.10 (Santiago), j'utilise sort
sort -t';' -k4,4 -k2,2 -k3,3 -k1,1 Classeur1.csv
LE_VAL;;PARC_DES_PRINCE;EXC
ISSY_BRIAND;K1;BELLEVUE;T1
LE_VAL;K1;BOULOGNE_CLEMEN;T1
ISSY_BRIAND;K2;BELLEVUE;T2
LE_VAL;K2;BOULOGNE_CLEMEN;T2
ISSY_BRIAND;K2;PARC_DES_PRINCE;T2
LE_VAL;K3;BELLEVUE;T2
LE_VAL;K1;BELLEVUE;T3
ISSY_BRIAND;K3;BELLEVUE;T3
ISSY_BRIAND;K3;BOULOGNE_CLEMEN;T3
LE_VAL;K3;BOULOGNE_CLEMEN;T3
ISSY_BRIAND;K4;BELLEVUE;T4
LE_VAL;K4;BOULOGNE_CLEMEN;T4
ISSY_BRIAND;K5;BELLEVUE;T5
LE_VAL;K5;BOULOGNE_CLEMEN;T5
LE_VAL;;HAVRE_CAUMARTIN;Z2
sort -t';' -k4,4 Classeur1.csv | sort -t';' -b -k2,2 | sort -t';' -k3,3 #j'obtiens presque ce que je veux
ISSY_BRIAND;K1;BELLEVUE;T1
ISSY_BRIAND;K2;BELLEVUE;T2
ISSY_BRIAND;K3;BELLEVUE;T3
ISSY_BRIAND;K4;BELLEVUE;T4
ISSY_BRIAND;K5;BELLEVUE;T5
LE_VAL;K1;BELLEVUE;T3
LE_VAL;K3;BELLEVUE;T2
ISSY_BRIAND;K3;BOULOGNE_CLEMEN;T3
LE_VAL;K1;BOULOGNE_CLEMEN;T1
LE_VAL;K2;BOULOGNE_CLEMEN;T2
LE_VAL;K3;BOULOGNE_CLEMEN;T3
LE_VAL;K4;BOULOGNE_CLEMEN;T4
LE_VAL;K5;BOULOGNE_CLEMEN;T5
LE_VAL;;HAVRE_CAUMARTIN;Z2
ISSY_BRIAND;K2;PARC_DES_PRINCE;T2
LE_VAL;;PARC_DES_PRINCE;EXC
sort -t';' -k4,4 Classeur1.csv | sort -t';' -b -k2,2 | sort -t';' -k3,3 | sort -t';' -k1,1 #mais le dernier sort perturbe tout
ISSY_BRIAND;K1;BELLEVUE;T1
ISSY_BRIAND;K2;BELLEVUE;T2
ISSY_BRIAND;K2;PARC_DES_PRINCE;T2
ISSY_BRIAND;K3;BELLEVUE;T3
ISSY_BRIAND;K3;BOULOGNE_CLEMEN;T3
ISSY_BRIAND;K4;BELLEVUE;T4
ISSY_BRIAND;K5;BELLEVUE;T5
LE_VAL;;HAVRE_CAUMARTIN;Z2
LE_VAL;K1;BELLEVUE;T3
LE_VAL;K1;BOULOGNE_CLEMEN;T1
LE_VAL;K2;BOULOGNE_CLEMEN;T2
LE_VAL;K3;BELLEVUE;T2
LE_VAL;K3;BOULOGNE_CLEMEN;T3
LE_VAL;K4;BOULOGNE_CLEMEN;T4
LE_VAL;K5;BOULOGNE_CLEMEN;T5
LE_VAL;;PARC_DES_PRINCE;EXC
j'utilise mal sort ? sort fonctionne comme ça et on n'y peut rien ? une solution ?
Merci de vos lumieres
J'ai un fichier dont le contenu est comme ça
LE_VAL;K1;BOULOGNE_CLEMEN;T1
LE_VAL;K2;BOULOGNE_CLEMEN;T2
LE_VAL;K3;BOULOGNE_CLEMEN;T3
LE_VAL;K4;BOULOGNE_CLEMEN;T4
LE_VAL;K5;BOULOGNE_CLEMEN;T5
LE_VAL;K1;BELLEVUE;T3
LE_VAL;;HAVRE_CAUMARTIN;Z2
ISSY_BRIAND;K3;BOULOGNE_CLEMEN;T3
LE_VAL;;PARC_DES_PRINCE;EXC
ISSY_BRIAND;K1;BELLEVUE;T1
ISSY_BRIAND;K2;BELLEVUE;T2
ISSY_BRIAND;K3;BELLEVUE;T3
ISSY_BRIAND;K4;BELLEVUE;T4
ISSY_BRIAND;K5;BELLEVUE;T5
LE_VAL;K3;BELLEVUE;T2
ISSY_BRIAND;K2;PARC_DES_PRINCE;T2
en utilisant excel, je trie la 4eme colonne puis la 2eme colonne puis la 3eme colonne puis la 1ere colonne, et j'obtiens ce que je veux c'est à dire :
ISSY_BRIAND;K1;BELLEVUE;T1
ISSY_BRIAND;K2;BELLEVUE;T2
ISSY_BRIAND;K3;BELLEVUE;T3
ISSY_BRIAND;K4;BELLEVUE;T4
ISSY_BRIAND;K5;BELLEVUE;T5
ISSY_BRIAND;K3;BOULOGNE_CLEMEN;T3
ISSY_BRIAND;K2;PARC_DES_PRINCE;T2
LE_VAL;K1;BELLEVUE;T3
LE_VAL;K3;BELLEVUE;T2
LE_VAL;K1;BOULOGNE_CLEMEN;T1
LE_VAL;K2;BOULOGNE_CLEMEN;T2
LE_VAL;K3;BOULOGNE_CLEMEN;T3
LE_VAL;K4;BOULOGNE_CLEMEN;T4
LE_VAL;K5;BOULOGNE_CLEMEN;T5
LE_VAL;;HAVRE_CAUMARTIN;Z2
LE_VAL;;PARC_DES_PRINCE;EXC
sous linux Red Hat Enterprise Linux Server release 6.10 (Santiago), j'utilise sort
sort -t';' -k4,4 -k2,2 -k3,3 -k1,1 Classeur1.csv
LE_VAL;;PARC_DES_PRINCE;EXC
ISSY_BRIAND;K1;BELLEVUE;T1
LE_VAL;K1;BOULOGNE_CLEMEN;T1
ISSY_BRIAND;K2;BELLEVUE;T2
LE_VAL;K2;BOULOGNE_CLEMEN;T2
ISSY_BRIAND;K2;PARC_DES_PRINCE;T2
LE_VAL;K3;BELLEVUE;T2
LE_VAL;K1;BELLEVUE;T3
ISSY_BRIAND;K3;BELLEVUE;T3
ISSY_BRIAND;K3;BOULOGNE_CLEMEN;T3
LE_VAL;K3;BOULOGNE_CLEMEN;T3
ISSY_BRIAND;K4;BELLEVUE;T4
LE_VAL;K4;BOULOGNE_CLEMEN;T4
ISSY_BRIAND;K5;BELLEVUE;T5
LE_VAL;K5;BOULOGNE_CLEMEN;T5
LE_VAL;;HAVRE_CAUMARTIN;Z2
sort -t';' -k4,4 Classeur1.csv | sort -t';' -b -k2,2 | sort -t';' -k3,3 #j'obtiens presque ce que je veux
ISSY_BRIAND;K1;BELLEVUE;T1
ISSY_BRIAND;K2;BELLEVUE;T2
ISSY_BRIAND;K3;BELLEVUE;T3
ISSY_BRIAND;K4;BELLEVUE;T4
ISSY_BRIAND;K5;BELLEVUE;T5
LE_VAL;K1;BELLEVUE;T3
LE_VAL;K3;BELLEVUE;T2
ISSY_BRIAND;K3;BOULOGNE_CLEMEN;T3
LE_VAL;K1;BOULOGNE_CLEMEN;T1
LE_VAL;K2;BOULOGNE_CLEMEN;T2
LE_VAL;K3;BOULOGNE_CLEMEN;T3
LE_VAL;K4;BOULOGNE_CLEMEN;T4
LE_VAL;K5;BOULOGNE_CLEMEN;T5
LE_VAL;;HAVRE_CAUMARTIN;Z2
ISSY_BRIAND;K2;PARC_DES_PRINCE;T2
LE_VAL;;PARC_DES_PRINCE;EXC
sort -t';' -k4,4 Classeur1.csv | sort -t';' -b -k2,2 | sort -t';' -k3,3 | sort -t';' -k1,1 #mais le dernier sort perturbe tout
ISSY_BRIAND;K1;BELLEVUE;T1
ISSY_BRIAND;K2;BELLEVUE;T2
ISSY_BRIAND;K2;PARC_DES_PRINCE;T2
ISSY_BRIAND;K3;BELLEVUE;T3
ISSY_BRIAND;K3;BOULOGNE_CLEMEN;T3
ISSY_BRIAND;K4;BELLEVUE;T4
ISSY_BRIAND;K5;BELLEVUE;T5
LE_VAL;;HAVRE_CAUMARTIN;Z2
LE_VAL;K1;BELLEVUE;T3
LE_VAL;K1;BOULOGNE_CLEMEN;T1
LE_VAL;K2;BOULOGNE_CLEMEN;T2
LE_VAL;K3;BELLEVUE;T2
LE_VAL;K3;BOULOGNE_CLEMEN;T3
LE_VAL;K4;BOULOGNE_CLEMEN;T4
LE_VAL;K5;BOULOGNE_CLEMEN;T5
LE_VAL;;PARC_DES_PRINCE;EXC
j'utilise mal sort ? sort fonctionne comme ça et on n'y peut rien ? une solution ?
Merci de vos lumieres
Configuration: Windows / Firefox 68.0
A voir également:
- Trier un fichier csv
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Trier un tableau excel - Guide
- Fichier rar - Guide
2 réponses
Salut,
Comme ça ?
;-)
Comme ça ?
$ sort -t';' -k1,1 -k3,3 -k2,2 fichier
ISSY_BRIAND;K1;BELLEVUE;T1
ISSY_BRIAND;K2;BELLEVUE;T2
ISSY_BRIAND;K3;BELLEVUE;T3
ISSY_BRIAND;K4;BELLEVUE;T4
ISSY_BRIAND;K5;BELLEVUE;T5
ISSY_BRIAND;K3;BOULOGNE_CLEMEN;T3
ISSY_BRIAND;K2;PARC_DES_PRINCE;T2
LE_VAL;K1;BELLEVUE;T3
LE_VAL;K3;BELLEVUE;T2
LE_VAL;K1;BOULOGNE_CLEMEN;T1
LE_VAL;K2;BOULOGNE_CLEMEN;T2
LE_VAL;K3;BOULOGNE_CLEMEN;T3
LE_VAL;K4;BOULOGNE_CLEMEN;T4
LE_VAL;K5;BOULOGNE_CLEMEN;T5
LE_VAL;;HAVRE_CAUMARTIN;Z2
LE_VAL;;PARC_DES_PRINCE;EXC
;-)