Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/03/2011, à 22:08

weezixx

trier et afficher des fichiers selon la date

Bonjour,

je vais être un peu plus claire ...

Imaginons que je reçoit tout un lot de photos, j'aimerai simplement demander (via console) de n'afficher que les photos qui ont été prise en 2004 ...

Et aussi au moyen de trier via année, mois etc ...

Merci !!

Hors ligne

#2 Le 13/03/2011, à 05:42

aduxas

Re : trier et afficher des fichiers selon la date

Juste pour commencer la discussion, car ça ne me plaît pas vraiment:  il y a la commande find.

find . -mtime -44 -mtime +40

trouve tous les fichiers qui ont étés modifiés il y a plus de 40 jours et moins de 44 jours.
Evidemment,ceci liste les fichiers triés du plus vieux au plus récent:

ls -lrt

Tu peux maintenant utiliser awk pour en extraire des sous-ensembles

ls -l | awk '$6>="2010-01-01"&& $6<"2010-02-01"'

Ceci trouvera tous les fichiers dont la date est égale ou supérieure au premier janvier et inférieure au premier février 2010.  Le résultat:

drwxr-xr-x  2 aduxas aduxas   4096 2010-01-31 06:42 Videos
drwxr-xr-x  2 aduxas aduxas   4096 2010-01-31 06:42 Templates
drwxr-xr-x  2 aduxas aduxas   4096 2010-01-31 06:42 Public
drwxr-xr-x  2 aduxas aduxas   4096 2010-01-31 06:42 Music

Pour traverser tous les dossiers sous 'Images':

find Images -exec ls -l {} + |awk '$6>="2010-08-01"&& $6<"2010-08-31"'

[EDIT espace manquant commande find]

Dernière modification par aduxas (Le 13/03/2011, à 16:56)

Hors ligne

#3 Le 13/03/2011, à 15:28

weezixx

Re : trier et afficher des fichiers selon la date

J'ai essayé ta commande

ls -l | awk '$6>="2010-01-01"&& $6<"2010-02-01"'

Mais sans résultat ...

Déjà ... pourquoi $6?

Hors ligne

#4 Le 13/03/2011, à 15:56

ehmicky

Re : trier et afficher des fichiers selon la date

Il faudrait que tu indiques la manière avec laquelle les fichiers sont automatiquement nommés.


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#5 Le 13/03/2011, à 16:04

weezixx

Re : trier et afficher des fichiers selon la date

@ ehmicky : tu t'adresses à qui ?

Hors ligne

#6 Le 13/03/2011, à 16:09

ehmicky

Re : trier et afficher des fichiers selon la date

Ca me parait clair, à toi smile. La date de création est indisponible sous Unix, mais avec les photos, on peut la savoir grâce aux métadonnées ou (plus simple et pour la plupart des appareils) avec le nom de la photo qui comprend souvent la date. Mais il faut pour ça connaître son format : photo-2010-03-12-01, Photo_20100312_01, etc. ?

Dernière modification par ehmicky (Le 13/03/2011, à 16:10)


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#7 Le 13/03/2011, à 16:12

weezixx

Re : trier et afficher des fichiers selon la date

Heu je suis un peu perdu la, moi je veux juste, trouver un script pour classer les fichiers d'un coup de terminal, et après les transférer dans un dossier précédemment crée, mais ça je suis sur que t'as compris, donc je vois pas ou tu veux en venir big_smile

Hors ligne

#8 Le 13/03/2011, à 16:43

aduxas

Re : trier et afficher des fichiers selon la date

Déjà ... pourquoi $6?

$6, c'est le sixième champs dans une ligne donnée par 'ls -l'.  Dans mon exemple, pour les quatre fichiers, $6 est la chaîne "2010-01-31".  C'est la date du fichier, quoi.  Le format probablement dépend des paramètres régionaux.  Je suis en système US, moi.  Si ton fomat est différent, il faut la découper en composants.

Mais sans résultat ...

Il faut évidemment avoir des fichier entre ces deux dates...

Hors ligne

#9 Le 13/03/2011, à 16:47

aduxas

Re : trier et afficher des fichiers selon la date

weezixx a écrit :

Heu je suis un peu perdu la

On n'a aucune idée de ton niveau de maîtrise de commandes shell.  Essaye d'expliquer ce que tu ne comprends pas.  P.e. connais-tu les option de 'ls' ?

Hors ligne

#10 Le 13/03/2011, à 16:52

weezixx

Re : trier et afficher des fichiers selon la date

J'avais changé la date pour évidement que ça corresponde, mais sans résultat.

Mon niveau de shell est moyen on va dire, je m'en sers tout les jours mais de façon assez restreinte.

Hors ligne

#11 Le 13/03/2011, à 16:54

ehmicky

Re : trier et afficher des fichiers selon la date

@aduxas, ton option utilise la date de modification, pas de création. Si une photo est recadrée, recompressée ou passée d'un système de fichier à un autre (ou simplement si l'on met la photo sur le PC une semaine après l'avoir prise), la mtime ne correspondera pas du tout à la date de création.
@aduxas : il faut que tu nous donnes des exemples des noms de fichier des photos que tu souhaites trier.


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#12 Le 13/03/2011, à 17:07

aduxas

Re : trier et afficher des fichiers selon la date

ehmicky a écrit :

@aduxas, ton option utilise la date de modification, pas de création.

C'est clair.  Chez moi, le nom de la photo contient la date (ça dépend de la caméra numérique je suppose).  On peut l'extraire du nom de fichier alors (find -regexp).  Tu as raison que le fichier jpg contient la seule vraie date, mais il faudrait insérer un filtre "jhead" ou "exif" alors.  Ca dépend de ce qu'on veut.  Donc, au lieu de "-exec ls -l" on exécute "jhead" et on en extrait la date.  C'est faisable.

Dernière modification par aduxas (Le 13/03/2011, à 17:08)

Hors ligne