Trie sur nom de fichier
Résolu/Fermé
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
-
6 nov. 2009 à 17:16
gigaga Messages postés 2346 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 - 6 nov. 2009 à 23:33
gigaga Messages postés 2346 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 - 6 nov. 2009 à 23:33
A voir également:
- Trie sur nom de fichier
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Il est trié sur la plateforme de départ ✓ - Forum Consommation & Internet
- Trouver un numéro de portable avec un nom ✓ - Forum Mobile
7 réponses
gigaga
Messages postés
2346
Date d'inscription
vendredi 20 juin 2008
Statut
Membre
Dernière intervention
22 août 2014
301
6 nov. 2009 à 17:33
6 nov. 2009 à 17:33
La solution de lami20j n'est pas bonne car il propose un tri simple sans prise en compte de la date et de l'heure.
Voici ma solution :
ls -1 /home/dossier/* | sort -t "_" -k2.5,2.8 -k2.3,2.4 -k2.1,2.2 -k3.1,3.2 -k3.4,3.5 -k3.7,3.8
Voici ma solution :
ls -1 /home/dossier/* | sort -t "_" -k2.5,2.8 -k2.3,2.4 -k2.1,2.2 -k3.1,3.2 -k3.4,3.5 -k3.7,3.8
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
6 nov. 2009 à 17:19
6 nov. 2009 à 17:19
Salut,
ls -1 | sort
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
6 nov. 2009 à 17:32
6 nov. 2009 à 17:32
Merci lami20j mais ce n'est pas ce que je cherchais (je me suis mal exprimé).
voila mon script :
Ce que j'aimerai faire c'est sélectionner le fichier ayant la plus ancienne date dans son nom et faire des opérations dessus (le copier dans un répertoire puis le supprimer).
Cette opération doit etre répété tant qu'il y a des fichiers dans le répertoires.
Au début je pensais mettre tout les noms de fichiers dans un tableau puis de trier ensuite mais ça me parait pas très simple.
Peut-etre que le faite d'utiliser les boucles for n'est pas une bonne idée je sais pas trop.
J'espère avoir été plus clair.
Cordialement,
voila mon script :
for i in `ls /home/dossier/fichier* | wc -l` do if [ $i -gt 0 ] then for j in `ls /home/dossier/fichier* ` do echo $j done else exit fi done
Ce que j'aimerai faire c'est sélectionner le fichier ayant la plus ancienne date dans son nom et faire des opérations dessus (le copier dans un répertoire puis le supprimer).
Cette opération doit etre répété tant qu'il y a des fichiers dans le répertoires.
Au début je pensais mettre tout les noms de fichiers dans un tableau puis de trier ensuite mais ça me parait pas très simple.
Peut-etre que le faite d'utiliser les boucles for n'est pas une bonne idée je sais pas trop.
J'espère avoir été plus clair.
Cordialement,
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
6 nov. 2009 à 17:44
6 nov. 2009 à 17:44
Merci gigaga ça à l'air de marcher :-)
par contre je ne comprend pas tout le défilement de -k2.5,2.8 etc... pourrait tu m'expliquer ?
Merci :-)
par contre je ne comprend pas tout le défilement de -k2.5,2.8 etc... pourrait tu m'expliquer ?
Merci :-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
6 nov. 2009 à 17:48
6 nov. 2009 à 17:48
je viens de comprendre :-)
c'est pas simple tout ça mais ça marche c'est cool :-)
Merci en tout cas à vous.
Cordialement,
c'est pas simple tout ça mais ça marche c'est cool :-)
Merci en tout cas à vous.
Cordialement,
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
6 nov. 2009 à 17:51
6 nov. 2009 à 17:51
Salut,
;-))
[tmpfs]$ ls -1 rep/ fichier_01112009_07h00m02s.tar.gz fichier_01112009_16h00m02s.tar.gz fichier_02112009_07h00m02s.tar.gz fichier_30102009_07h00m02s.tar.gz fichier_30102009_16h00m02s.tar.gz [tmpfs]$ ls -1tr rep/ fichier_30102009_16h00m02s.tar.gz fichier_30102009_07h00m02s.tar.gz fichier_02112009_07h00m02s.tar.gz fichier_01112009_16h00m02s.tar.gz fichier_01112009_07h00m02s.tar.gz [tmpfs]$
;-))
gigaga
Messages postés
2346
Date d'inscription
vendredi 20 juin 2008
Statut
Membre
Dernière intervention
22 août 2014
301
6 nov. 2009 à 17:52
6 nov. 2009 à 17:52
Alors c'est pour faire des groupements de tris :
Exemple : fichier_01112009_07h00m02s.tar.gz
Dont le séparateur est "_", du coup j'ai 3 éléments ;
fichier
01112009
07h00m02s.tar.gz
Ensuite, je dois trier d'abord sur l'année qui se trouve dans le 2e élément du caractère 5 au caractère 8 : -k2.5,2.8
Ensuite, je dois trier d'abord sur le mois qui se trouve dans le 2e élément du caractère 3 au caractère 4 : -k2.3,2.4
et ainsi de suite et idem pour l'heure.
Exemple : fichier_01112009_07h00m02s.tar.gz
Dont le séparateur est "_", du coup j'ai 3 éléments ;
fichier
01112009
07h00m02s.tar.gz
Ensuite, je dois trier d'abord sur l'année qui se trouve dans le 2e élément du caractère 5 au caractère 8 : -k2.5,2.8
Ensuite, je dois trier d'abord sur le mois qui se trouve dans le 2e élément du caractère 3 au caractère 4 : -k2.3,2.4
et ainsi de suite et idem pour l'heure.
6 nov. 2009 à 20:11
La solution de lami20j n'est pas bonne
Tu as raison ;-)
6 nov. 2009 à 20:14
6 nov. 2009 à 20:16
6 nov. 2009 à 20:22
6 nov. 2009 à 21:51