Je dois créer un script qui affiche les fichiers dans le même ordre que le dossier Téléchargements par défaut du dock, classés par Date ajoutée, le plus récent en premier. Je n'arrive pas à trouver l'option dans ls
.
Une autre façon de le faire?
macos
command-line
metadata
Ramiro Araujo
la source
la source
Réponses:
Solution plus simple (plus rapide):
la source
La date ajoutée est stockée en tant qu'élément de métadonnées
kMDItemDateAdded
et lemdls
La commande exposera les données de chaque fichier passé en argument.Ainsi, pour vider la date ajoutée pour tous les fichiers dans Téléchargements dans n'importe quel ordre * étendu par votre shell, vous pouvez:
Vous aurez besoin de bidouiller une combinaison de find et sed / awk / perl / peu importe pour assembler un remplacement pour
ls
mais peut-être que mdfind peut être appelé par votre script plutôt que de devoir réinventerls
et analyser cette sortie.la source
Comme d'habitude, après avoir écrit la question, je commence à chercher le contenu des métadonnées dans les fichiers et je finis par écrire ceci:
Fondamentalement, il: 1. lister tous les fichiers 2. filtre. et .. 3. obtient le nom et la date ajoutés, une ligne après l'autre 4. fusionne toutes les deux lignes en une ligne 5. extrait la date, l'heure et le nom 6. le trie à l'envers (puisque datetime est upfront, il trie par datetime)
J'espère que ça aide quelqu'un d'autre! :)
@bmike en fait, le site m'a imposé une restriction pour répondre à ma propre question seulement 8 heures après avoir posté ma question, en raison de mon manque de réputation:
la source
ls -A
au lieu de-a
donc tu n'es pas obligégrep -v
pour.
et..
.la source