Как переименовать файлы (в данном случае PDF) по числовому порядку даты

find . -name "*.pdf" -print0 | xargs -r0 stat -c %y\ %n | sort|awk '{print $4}'|gawk 'BEGIN{ a=1 }{ printf "mv %s %04d.pdf\n", $0, a++ }' | bash


Данная команда выполняет следующие действия:
1. Ищет все файлы с расширением «.pdf» в текущей директории и ее поддиректориях.
2. Выводит полный путь к каждому найденному файлу, разделяя записи символом NULL.
3. Передает результат вывода команды «find» (список файлов) в команду «stat», которая выводит дату изменения и имя каждого файла в формате «%y %n».
4. Сортирует полученный список по алфавиту по имени файла.
5. С помощью утилиты «awk» выбирает только четвертое поле (имя файла) из каждой строки.
6. С помощью утилиты «gawk» добавляет префикс «mv» перед каждым имением файла и добавляет числовой порядковый номер («%04d.pdf»).
7. Передает результат предыдущих операций в команду «bash» для выполнения реального переименования файлов.

Данная команда полезна в случае, когда требуется переименовать файлы с расширением .pdf в директории и ее поддиректориях по порядку даты изменения. Альтернативные способы переименования файлов могут включать использование других команд, таких как «rename», «mv» или скриптов на языках программирования. Аргументы, передаваемые команде, указывают на каталог, где нужно выполнить поиск файлов с расширением .pdf.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *