![Название скрипта, который позволяет перемещать файлы, редактируя их пути в текстовом редакторе?](https://rvso.com/image/1692514/%D0%9D%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0%2C%20%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B9%20%D0%BF%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8F%D0%B5%D1%82%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D1%89%D0%B0%D1%82%D1%8C%20%D1%84%D0%B0%D0%B9%D0%BB%D1%8B%2C%20%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D1%83%D1%8F%20%D0%B8%D1%85%20%D0%BF%D1%83%D1%82%D0%B8%20%D0%B2%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%BC%20%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B5%3F.png)
Я помню, что существовал скрипт, который работал следующим образом: он позволял перемещать файлы в каталоге, открывая все пути к файлам всех файлов в каталоге в текстовом редакторе. Затем вы могли редактировать пути к файлам в текстовом редакторе, и после выхода из текстового редактора файлы переименовывались.
Я не могу найти этот скрипт. Кто-нибудь знает, как он называется? Я думаю, он был частью коллекции скриптов оболочки.
решение1
vidir
позволяет редактировать имена файлов в текстовом редакторе. Чтобы выбрать редактор, установите EDITOR
переменную. В Debian или Ubuntu vidir
находится в moreutils
пакете.
Вот что vidir
можно сделать (отрывок из man 1 vidir
):
При редактировании каталога каждый элемент в каталоге будет отображаться на собственной пронумерованной строке. Эти номера отслеживают,
vidir
какие элементы были изменены. Удалите строки, чтобы удалить файлы из каталога, или отредактируйте имена файлов, чтобы переименовать файлы. Вы также можете поменять пары чисел, чтобы поменять местами имена файлов.
Там написано "изменить имена файлов, чтобы переименовать", но инструмент может сделать больше. Редактируя целые пути, вы можете перемещать файлы в другие каталоги, даже в каталоги, которые еще не существуют ( vidir
попробую создать их).
После редактирования вам нужно сохранить текстовый файл и корректно выйти из редактора, только тогда vidir
он выполнит свою работу. vidir
ничего не сделает, если вы не измените файл (включая сохранение под другим именем или в другом месте) или если редактор завершит работу с ошибкой (т. е. с ненулевым статусом выхода). Выход из редактора без сохранения файла или сбой редактора даже после сохранения файла (пример) являются способами прерывания беременности.
Если вы боитесь, что где-то есть путь с символом табуляции или новой строки, и это что-то сломает, vidir
то сохраняйте спокойствие. Насколько мне известно, vidir
изначально откажется работать с таким путем.
Примеры:
-
работает с содержимым текущего рабочего каталога, но не переходит в подкаталоги.vidir
-
работает с содержимым выбранного каталога, но не заходит в подкаталоги.vidir /chosen/directory
-
работает на всем, чтоvidir *.mp3
*.mp3
расширяется. Это может быть странно, если нет соответствия; см. началоэтот ответ. -
работает с путевыми именами, предоставленными,find . -type f | vidir -
find
что в целом является очень мощным инструментом (см. «Теория» вэтот мой ответ). Примечание по умолчаниюfind
не спускается в подкаталоги. -
работает как редакторEDITOR=kate vidir …
vidir …
и используетсяkate
как редактор.