[Shell] Trier contenu d'un fichier - Commande sort
Résolu/Fermé
Nemesis31
Messages postés
436
Date d'inscription
vendredi 22 août 2008
Statut
Membre
Dernière intervention
3 avril 2014
-
Modifié par Nemesis31 le 27/12/2012 à 13:00
Max - 4 déc. 2014 à 17:03
Max - 4 déc. 2014 à 17:03
A voir également:
- [Shell] Trier contenu d'un fichier - Commande sort
- Fichier rar - Guide
- Invite de commande - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier host - Guide
3 réponses
Bonjour,
Il y a un problème dans ton fichier en entrée.
La commande sort doit être en mesure déterminer les différents champs.
Ici, le caractère espace " " est un séparateur, mais est aussi contenu dans un nom de fichier (Les Mam'zelles).
Il faudra absolument changer celà, sinon la commande sort ne s'y retrouvera jamais...
J'occulte ce problème dans mon exemple : je remplace cet espace par un '_'.
Ensuite, tu spécifies l'utilisation du caractères séparateur ":".
Dans ce cas, le fichier contiendra 5 champs, et trier sur les champs 2 et 3 n'aura pas de sens.
Pas besoin de spécifier de séparateur, l'espace (par défaut) conviendra très bien, car il suffit de trier les chaînes complètes, sans séparer année/mois/jour et heure/minutes/secondes.
Ca fonctionne tout simplement comme ça :
$> cat test
Arbres.JPG 2012:11:03 15:17:17
Fosse.JPG 2011:11:03 15:26:05
Fort_Foch.JPG 2012:11:02 11:46:08
Les_Mam'zelles.JPG 2012:11:03 16:05:14
Vue_du_donjon.JPG 2012:11:03 15:19:48
Plan_3D.JPG 2012:11:03 15:16:20
Transilien.JPG 2012:10:29 18:02:20
Souvenirs.JPG 2012:11:03 16:02:27
$> sort -k2,3 test
Fosse.JPG 2011:11:03 15:26:05
Transilien.JPG 2012:10:29 18:02:20
Fort_Foch.JPG 2012:11:02 11:46:08
Plan_3D.JPG 2012:11:03 15:16:20
Arbres.JPG 2012:11:03 15:17:17
Vue_du_donjon.JPG 2012:11:03 15:19:48
Souvenirs.JPG 2012:11:03 16:02:27
Les_Mam'zelles.JPG 2012:11:03 16:05:14
Il y a un problème dans ton fichier en entrée.
La commande sort doit être en mesure déterminer les différents champs.
Ici, le caractère espace " " est un séparateur, mais est aussi contenu dans un nom de fichier (Les Mam'zelles).
Il faudra absolument changer celà, sinon la commande sort ne s'y retrouvera jamais...
J'occulte ce problème dans mon exemple : je remplace cet espace par un '_'.
Ensuite, tu spécifies l'utilisation du caractères séparateur ":".
Dans ce cas, le fichier contiendra 5 champs, et trier sur les champs 2 et 3 n'aura pas de sens.
Pas besoin de spécifier de séparateur, l'espace (par défaut) conviendra très bien, car il suffit de trier les chaînes complètes, sans séparer année/mois/jour et heure/minutes/secondes.
Ca fonctionne tout simplement comme ça :
$> cat test
Arbres.JPG 2012:11:03 15:17:17
Fosse.JPG 2011:11:03 15:26:05
Fort_Foch.JPG 2012:11:02 11:46:08
Les_Mam'zelles.JPG 2012:11:03 16:05:14
Vue_du_donjon.JPG 2012:11:03 15:19:48
Plan_3D.JPG 2012:11:03 15:16:20
Transilien.JPG 2012:10:29 18:02:20
Souvenirs.JPG 2012:11:03 16:02:27
$> sort -k2,3 test
Fosse.JPG 2011:11:03 15:26:05
Transilien.JPG 2012:10:29 18:02:20
Fort_Foch.JPG 2012:11:02 11:46:08
Plan_3D.JPG 2012:11:03 15:16:20
Arbres.JPG 2012:11:03 15:17:17
Vue_du_donjon.JPG 2012:11:03 15:19:48
Souvenirs.JPG 2012:11:03 16:02:27
Les_Mam'zelles.JPG 2012:11:03 16:05:14
Nemesis31
Messages postés
436
Date d'inscription
vendredi 22 août 2008
Statut
Membre
Dernière intervention
3 avril 2014
78
29 déc. 2012 à 18:40
29 déc. 2012 à 18:40
Bonsoir,
je viens de faire plusieurs tests, et ça fonctionne !!
Encore merci swed ! ;)
je viens de faire plusieurs tests, et ça fonctionne !!
Encore merci swed ! ;)
28 déc. 2012 à 16:33
Je me doutais bien qu'il y aurait un problème avec les espaces.
Mais ce n'est pas moi qui décide des noms de fichiers : c'est la personne qui a fait le sujet du projet, et nous (=étudiants) nous devons d'utiliser nos scripts sur leurs fichiers photos.
Cependant, ce n'est pas vraiment spécifier si oui ou non non a le droit de rajouter des _ aux noms de fichiers...
Si tu veux voir le sujet du projet : www.pouick.fr/downloads/mini_projet_2012.pdf
Je vais essayer avec l'underscore:) Encore merci !!