94 votes

Comment trouver le fichier le plus ancien dans une arborescence de répertoires ?

Je cherche un Shell one-liner pour trouver le fichier le plus ancien dans une arborescence de répertoires.

2voto

Okki Points 21
find ! -type d -printf "%T@ %p\n" | sort -n | head -n1

0voto

PenguinLust Points 125

Il semble que par "plus ancien", la plupart des gens ont supposé que vous vouliez dire "plus ancien temps de modification". C'est probablement corrigé, selon l'interprétation la plus stricte de "plus ancien", mais au cas où vous voudriez celui avec la plus ancienne accès temps, je modifierais la meilleure réponse ainsi :

find -type f -printf '%A+ %p\n' | sort | head -n 1

Remarquez le %A+ .

-1voto

Dima Points 11
set $(find /search/dirname -type f -printf '%T+ %h/%f\n' | sort | head -n 1) && echo $2
  • find ./search/dirname -type f -printf '%T+ %h/%f\n' imprime les dates et les noms de fichiers sur deux colonnes.
  • sort | head -n1 conserve la ligne correspondant au fichier le plus ancien.
  • echo $2 affiche la deuxième colonne, c'est-à-dire le nom du fichier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X