Переименуйте сотни файлов

Я использую Elementary OS (все еще очень новый для любой UNIX-системы) и имею сотни текстовых файлов на моем старом жестком диске, который мне нужно сортировать. Все текстовые файлы имеют такое имя, как;

lua – eng1-6TH4eI8gtf3.txt

Мне нужна команда, которая может удалить последние 11 символов из всех них, но все равно оставляя расширение. Оглядевшись, я увидел команду «переименовать», но я не уверен, что это сработает для меня.

Команда, которую я мог бы просто скопировать, вставить, а затем изменить что-нибудь вроде каталога, будет потрясающим, и объяснение того, что все делает.

  • Настольные ярлыки в элементарной ОС
  • Изменить размер пантеона
  • Как установить Linux (ElementaryOS) на жесткий диск при сохранении его файлов?
  • Удерживать Pushbullet для Chrome активным с Chrome?
  • Не удается открыть google chrome stable на элементарной os freya
  • Ошибка при установке Libatlas
  • Начальное ускорение мыши OS Loki
  • Не удается изменить настройки обновления на элементарные?
  • One Solution collect form web for “Переименуйте сотни файлов”

    Эта команда должна хорошо работать для вас, когда я тестировал ее на некоторых образцовых файлах с тем же шаблоном, что и ваш:

     rename 's/(.*)(-.{11})\.txt$/$1\.txt/' * 

    Объяснение:

    См. Эту простую команду:

     rename 's/pattern/result/' filename(s) 

    Шаблон может быть регулярным выражением. Таким образом, мы можем взять другую часть текста (это имя файла). Если вы этого не понимаете, google для regex. Это выглядит сложным, но если вы его узнаете, это легко.

    В результате я беру содержимое первой круглой скобки на $1 и оставляю вторую скобку и в конце добавляю к ней .txt .

    Импортное уведомление
    Сначала запустите команду с параметром -n -v чтобы просто посмотреть, что будет делать команда. Если результат – это то, что вы хотите, запустите его без параметров. Поэтому сначала запустите его так:

     $ rename -n -v 's/(.*)(-.{11})\.txt$/$1\.txt/' * rename(lua - eng1-6TH4eI8gtf3.txt, lua - eng1.txt) rename(lua - eng2-6TH4eI8gtf4.txt, lua - eng2.txt) rename(lua - eng4-6TH4eI8gtf5.txt, lua - eng4.txt) 
    Linux и Unix - лучшая ОС в мире.