Как пакетные файлы mv для папок, созданные и названные по дате изменения?

Я совершенно новичок в терминале, и я просто не мог найти ответа на вышеупомянутый вопрос.

На моей OS X у меня есть папка с примерно 4000 фотографиями, которые я бы хотел переместить в папки, имена которых указаны в соответствии с датой изменения (а не датой создания) файлов. Как я могу выполнить это с помощью терминала?

  • Как объединить wget, сортировать и сохранять в новое имя файла?
  • Сортировка каталогов и файлов
  • Замена номера одним и тем же значением (числом) одного символа
  • Как создать ограниченную очередь для задач оболочки?
  • Как найти файлы в поддирерах и отсортировать их по имени файла в одной команде?
  • Сортировка файлов в каталоге рекурсивно на основе последней измененной даты
  • Поиск, подсчет и сортировка всех аудиофайлов. Файлы ALAC (M4A)
  • Перемещение одного файла за раз, исходя из определенного числа в файлах
  • 2 Solutions collect form web for “Как пакетные файлы mv для папок, созданные и названные по дате изменения?”

    С perl :

     perl -MPOSIX -le 'for (<*.jpg>) { $d=strftime"%Y-%m-%d",localtime((stat$_)[9]); mkdir$d;rename$_,"$d/$_" or warn "rename $_: $!\n"}' 

    С zsh :

     zmodload zsh/stat for f (*.jpg) {stat -F %F -A d +mtime -- $f && mkdir -p $d && mv -- $f $d} 

    С статусом OSX:

     for file in *; do dir="$(stat -t %Y%m%d%H%M%S -f %Sm -- "$file")" mkdir -p "$dir" mv -- "$file" "$dir/$file" done 

    С GNU stat (т.е. на Linux или Cygwin):

     for file in *; do dir="$(stat -c %Y -- "$file")" mkdir -p "$dir" mv -- "$file" "$dir/$file" done 

    Это переместит каждый файл в каталог с именем mtime (как эпоха).

    Если вы хотите получить более тонкий контроль над тем, как выглядит каталог, вы можете использовать дату GNU для ее форматирования, изменив строку назначения на что-то вроде этого:

     dir="$(date -d @"$(stat -c %Y -- "$file")" +%F)" 

    См. man date для получения информации о спецификациях формата даты, которые вы можете использовать. В этом случае %F :

    % F полная дата; такие же, как% Y-% m-% d

    Interesting Posts

    archivemount (tar) возвращается до завершения записи (синхронизация при записи?)

    bash деление чисел в текстовом файле

    Расширяет ли расширение имени файла косую черту с символической ссылкой?

    Где задана функция, заданная «подсказка»?

    Как извлечь сходство между двумя строками

    Как установить общую библиотеку в Linux

    Удаляет ли Android GPL?

    эхо-цветной текст, который динамически меняет цвета

    Как псевдонимы команды после SSH-соединения с несколькими ходами в одном и том же псевдониме

    Как я могу заставить rsync использовать шифрование и сжатие для передачи файлов после авторизации соединения?

    удалять старые файлы журналов, кроме последнего (с буквенно-цифровой сортировкой)

    Псевдо-файлы для временных данных

    Где разместить плагины приложений (.so)?

    Как переключаться между графическими процессорами на ноутбуке Mint 17.2 ASUS?

    Как определить последнюю версию в URL?

    Linux и Unix - лучшая ОС в мире.