Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1665 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Linux - listing récursif par date

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Linux - listing récursif par date

n°1339043
Zik22
Posté le 06-06-2013 à 15:43:02  profilanswer
 

Bonjour
 
sous Linux en csh, j'ai un répertoire avec plein de fichiers et de sous-répertoires. Je souhaite afficher un listing (ou la fin de celui-ci) qui mettra les fichiers qui ont été modifiés le plus récemment.
J'ai tenté ceci :

ls -laRtr


Ces options me paraissent logiques :  

  • l : listing en long
  • a : aussi les fichiers cachés
  • R : récursif dans les sous répertoires
  • t : classement par date
  • r : classement inversé (les plus récents apparaissent en dernier)


Hélas cela ne marche pas:
ls -laR : les répertoires sont classés alphabétiquement, puis les fichiers (acollés à leur répertoire) aussi
ls -laRr : les  répertoires sont classés inverse alphabétiquement, puis les fichiers (acollés à leur répertoire) aussi
ls -laRtr : les fichiers sont classés dans l'ordre de date comme voulu (acollés à leur répertoire), mais par contre les répertoires sont disposés n'importe comment : le dernier répertoire apparaissant n'est pas celui changé où le fichier le plus récent existe
 
J'ai tenté alors avec un filtre pour garder que les fichiers (grep qui prend que les lignes commençant par '-'), puis tri par date sur la 6e colonne des mois :

ls -laR | grep ^- | sort -k6 -M


sachant qu'une ligne est représentée ainsi:

-rw-rw---- 1 nomuser group 7200 Jun 6 14:03 nomfichier


 
Ca trie les mois, mais pas le reste des dates (jours et heures). Et je ne sais pas faire de tri imbriqué comme sous Excel : colonne 6 (mois) en month, puis 7 (jour) en numérique, puis 8 (heure) en numérique.
 
Qqn a-t-il une solution ?
Merci

mood
Publicité
Posté le 06-06-2013 à 15:43:02  profilanswer
 

n°1339044
Mysterieus​eX
Chieuse
Posté le 06-06-2013 à 15:45:19  profilanswer
 

Tu peu pas utiliser bash ou sh comme tout le monde ? <_<, sinon un coup de man ls te donnera la solution :) (faut éditer les fichier de configuration)

n°1339093
Nukolau
Posté le 07-06-2013 à 09:36:26  profilanswer
 

Le plus simple est pour moi le find, par contre si i y a trop de fichiers, je ne suis pas sur que ca passe :
 

Code :
  1. find REPERTOIRE -type f -exec ls -altr {} \+


 
En tout cas trier sur la date directement avec la sortie standard du ls me semble difficile car parfois il donne des heures, d'autres des dates avec années, sans année, etc. La encore le find pourrait t'aider avec le printf qui te permet de formater la sortie.

n°1339117
Zik22
Posté le 07-06-2013 à 14:46:50  profilanswer
 

Nukolau a écrit :

Le plus simple est pour moi le find, par contre si i y a trop de fichiers, je ne suis pas sur que ca passe :
 

Code :
  1. find REPERTOIRE -type f -exec ls -altr {} \+


 
En tout cas trier sur la date directement avec la sortie standard du ls me semble difficile car parfois il donne des heures, d'autres des dates avec années, sans année, etc. La encore le find pourrait t'aider avec le printf qui te permet de formater la sortie.


 
MERCI ! Avec le find, c'est exactement cela.  :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Linux - listing récursif par date

 

Sujets relatifs
[RESOLU][LINUX RASPBIAN] envoie de mailWebMail Notifier Linux driver (Dream Cheeky)
formaté HDD pour linux comment?? merciLinux - Compression tar/gzip en commande
install 2 HDD win / linux comment passer de 1 a autre ?[RESOLU] Linux n'utilise poas sa partition de swap
Mise en place d'un serveur Jabber sur Linux DebianQuelle distrib Linux ?
Installation linux specif 2.6.34 sur intel NUCScript Shell de Restauration de dossiers Backupés sous Linux de puis
Plus de sujets relatifs à : Linux - listing récursif par date


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR