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 29/05/2017, à 23:24

josran

[Résolu] Trouver le plus récent sous-répertoire créé

Bonjour,

J'ai cherché en vain dans une iongue liste de sites comment trouver le plus récent sous-répertoire créé à l'intérieur d'un répertoire. On trouve des tas de résultats pour un fichier mais pour un répertoire c'est beaucoup plus rare et généralement tellement complexe que j'ai du mal à comprendre.

La méthode la plus approchante que j'aie trouvée est celle-ci:

find . -maxdepth 1 -type f -newer first_file

Je sais remplacer "-type f" par "-type d" mais dans le site où j'ai trouvé cette commande, "first_file" n'est pas commenté et je ne vois par quoi il faut le remplacer.

Dernière modification par josran (Le 30/05/2017, à 03:51)

Hors ligne

#2 Le 30/05/2017, à 02:00

Watael

Re : [Résolu] Trouver le plus récent sous-répertoire créé

salut,

first_file est un fichier préexistant dont la date sert à trouver les fichiers plus récents (-newer).

pour afficher le répertoire le plus récent, tu pourrais, avec find,
afficher les noms des répertoires ET leur date (en secondes depuis EPOCH) avec -printf, puis
trier (sort) sur la date, et
ne retenir que le premier (head ou tail).

Dernière modification par Watael (Le 30/05/2017, à 02:03)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 30/05/2017, à 03:48

josran

Re : [Résolu] Trouver le plus récent sous-répertoire créé

Merci, Watael, de cette réponse qui ne m'apporte pas la solution clés en mains que j'espérais et me semble nécessiter un bac+5 en Linux (que je n'ai pas)  hmm

Je suis donc reparti en quête d'une solution et j'ai mis la main sur ceci :

find -type f -printf '%T+ %p\n' | sort | tail -n 1

que j'ai transformé en cela :

find . -maxdepth 1 -type d -printf '%T+ %p\n' | sort | tail -n 1

Et ça marche !

Hors ligne

#4 Le 30/05/2017, à 21:28

moko138

Re : [Résolu] Trouver le plus récent sous-répertoire créé

Puisque tu ne descends, semble-t-il, que d'un degré dans les sous-répertoires, il y a plus simple :

ls -lt /mon/chemin | grep ^d | head -1

smile
Ex :

ls -lt /etc | grep ^d | head -1
drwxr-xr-x  9 root root      4096 mai   25 09:38 apparmor.d

ou

ls -lt /var/log | grep ^d | head -1
drwxr-xr-x 2 root   root   12288 mai   30 08:12 upstart

ou encore :

ls -lt / | grep ^d | head -1
drwxrwxrwt   6 root root  4096 mai   30 22:17 tmp

%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne