Je travaille sous UNIX / Linux depuis 1984/1991 respectivement et la première commande qui m'a été enseignée a été find. Linux / GNU a mis à peu près tout ce dont vous avez besoin dans la commande find actuelle, alors jouez avec.
Voici quelques conseils utiles pour trier la sortie de recherche. L'option -printf vous offre de nombreuses options pour permettre un tri plus complexe et une présentation des informations sur les fichiers. C'est le meilleur pour des problèmes comme celui-ci. Jouez avec pour voir ce qui fonctionnera pour vous. En utilisant -printf, vous pouvez personnaliser et délimiter les résultats comme vous le souhaitez. Cela aide beaucoup lorsque vous devez post-traiter les résultats. J'espère que ça aidera quelqu'un.
Si vous utilisez -ls et souhaitez trier par nom de fichier, le 11ème champ est le nom de fichier, vous pouvez donc effectuer les opérations suivantes. L'option de tri -k peut également prendre plusieurs champs pour trier.
trouver / chemin -ls | trier -k11
Si vous voulez un contrôle plus fin du grain par date / heure dans l'ordre croissant ou décroissant, utilisez l'option -printf "". Voir le manuel pour plus de détails, mais ce qui suit est un exemple qui s'imprimera en quelques fractions de seconde donc il est très précis.
EXEMPLE DATE / HEURE: 2016-09-17 + 12: 09: 57.9013929800
find /path -printf "%T+ %p\n" | sort -n # Ascending
find /path -printf "%T+ %p\n" | sort -nr # Descending
Une autre façon de procéder sans caractères dans la chaîne de date / heure est.
EXEMPLE DATE / HEURE: 20160917120013.8101685040
find /path -printf "%AY%Am%Ad%AH%AM%AS %p\n" | sort -n
David Conger-Eldeen
la source
-s
paramètre pour trier alphabétiquement la sortie.