Я делал это с Хейзел. Я бы переместил все из ~/Downloads/
в ~/Downloads/Archive/Pictures
, ~/Downloads/Archive/Documents
, ~/Downloads/Archive/Videos
и т.д. В зависимости от расширения файла и в случае файла с идентичным именем уже существует, Хейзел просто добавит номер к файлу, который она перемещает.
Я хотел написать сценарий оболочки, который бы достиг этого, но я быстро понял, что понятия не имею, как переименовать файлы без какого-либо пользовательского ввода. Схема для переименования может быть простым счетчиком после имени файла, и она должна иметь место только тогда, когда mv
перезапишет существующий файл. Он также должен иметь возможность продолжить счетчик, если уже было множество экземпляров с одинаковым именем файла. Итак, если я переместил dirA/file.ext
в dirB/
котором уже есть file.ext
и file2.ext
, скрипт должен начать считать с 3 и переименовать dirA/file.ext
в dirB/file3.ext
.
Может ли кто-нибудь предложить какое-либо руководство о том, как добиться этого? Желательно с помощью сценария оболочки, но если нет, то в Ruby, Perl или Python. Просто знание того, возможно ли это с помощью сценария оболочки, поможет мне.