Допустим у вас на компьютере имеется обширная коллекция музыки или фильмов, но в именах файлов написан адрес какого либо торрент трекера и вы хотите убрать его раз и навсегда из всех файлов. Делать это вручную очень долго и нудно, за это время можно посмотреть половину какого нибудь фильма.
Для решения этой проблемы нужна какая нибудь супер программа, в Linux для решения этот проблемы есть консольная, простенькая утилита rename, но свою работу она делает быстро и безболезнено. Скачивать её Вам будет не нужно т. к. скорее всего она уже есть в вашем дистрибутиве.
Итак, переходим в папку с вашей коллекцией фильмов/музыки:
$ cd <files>/ #вместо <files> подставляем адрес папки
И вводим саму команду для глобального переименновывания:
$ rename 's/ \(torrent\)//gi' *.avi *.mkv *.mp3 *.ogg #команды удалит " (torrent)" из имен файлов которые оканчиваются на ".avi", ".mkv", ".mp3" и ".ogg"
Может так оказаться что файлы вашей коллекции будет разложены по отдельным папкам, то тогда просто делаем так:
$ rename 's/ \(torrent\)//gi' **/*.avi **/*.mkv **/*.mp3 **/*.ogg #Символ ** означает рекурсивная подстановка имен.
Итак в приведенной команде обязательно нужно писать 's///gi' и в конце к каким файлам нужно применить правило, если ко все то просто поставьте символ *, вот так:
$ rename 's///gi' *
После первой косой черты нужно написать что нужно заменять в именах файлов, а после второй черты на что нужно заменять.
В примере " (torrent)" заменяется на "", то есть удаляется из названий файлов.
В примерах до скобок можно видеть обратные косые черты - это экранирующий символ без которого команда просто не сработает.
Также если у вас правиле подстановки будут отсутствовать кавычки и присутствовать пробел то передним тоже нужен экранирующий символ.
Короче обратная косая черта нужна для некоторых символов.
Надеюсь этот небольшой пост вам очень помог разобратся с вашими файлами.