Мне нужно создать скрипт, который показывает файлы в том же порядке, что и стандартная папка «Загрузки» в доке, упорядоченная по дате добавления, сначала самая новая. Я не могу найти вариант в ls
.
Есть ли другой способ сделать это?
macos
command-line
metadata
Рамиро Араужо
источник
источник
Ответы:
Более простое (более быстрое) решение:
источник
Добавленная дата сохраняется как элемент метаданных,
kMDItemDateAdded
иmdls
команда будет предоставлять данные для каждого файла, переданного в качестве аргумента.Итак, чтобы выгрузить дату, добавленную для всех файлов в Загрузках в произвольном порядке *, расширяемую вашей оболочкой, вы можете:
Вам нужно будет собрать воедино некоторую комбинацию find и sed / awk / perl / что угодно, чтобы собрать замену,
ls
но, возможно, mdfind может быть вызван вашим сценарием вместо необходимости заново изобретатьls
и анализировать этот вывод.источник
Ну, как обычно, после написания вопроса я начинаю копаться в содержимом метаданных в файлах и в итоге пишу так:
В основном это: 1. список всех файлов 2. отфильтровывает. и .. 3. получает добавленные имя и дату, одну строку за другой 4. объединяет каждые две строки в 1 строку 5. извлекает дату, время и имя 6. сортирует их в обратном порядке (поскольку datetime является предварительным, сортировка выполняется по Дата и время)
Надеюсь, это поможет кому-то еще! :)
@bmike, на самом деле, сайт наложил мне ограничение на ответ на мой собственный вопрос только после 8 часов публикации моего вопроса из-за моей репутации: D
источник
ls -A
вместо того,-a
чтобы вам не нужноgrep -v
для.
и..
.источник