Изменение неустановленных расширений файлов

Я случайно переименовал большое количество моих файлов с расширением .mp4 . К счастью, исходное расширение было сохранено в имени файла (например, simon.says.nfo.mp4 )

Как я теперь удалю часть mp4 только из этих файлов?

Из-за системы именования, которую я имею, я не могу просто найти find для *.*.mp4 что было бы намного проще с помощью компиляции find / replace.

2 Solutions collect form web for “Изменение неустановленных расширений файлов”

«rename» – это утилита, которая делает именно то, что вам нужно:

 rename 's/.mp4//' *.mp4 

человек переименовать для другой информации

Чтобы удалить расширение .mp4 всех файлов с расширением .nfo.mp4 в текущем каталоге:

 for fname in ./*.nfo.mp4; do newfname="$( basename "$fname" .mp4 )" mv -i "$fname" "$newfname" done 

Утилита basename удаляет путь (оставляет только имя файла) и может удалить суффикс за один раз. Мы можем удалить этот путь без добавления его снова, так как нас интересует только текущий каталог. Эквивалентный эффект был бы newfname="${fname%.mp4}" с помощью расширения параметра newfname="${fname%.mp4}" (который удаляет суффикс .mp4 но не выделяет исходный путь из $fname , хотя здесь это не проблема ).

Я использую mv -i чтобы вы могли вручную подтвердить любую операцию mv , которая в противном случае переписывала бы существующий файл.

Для тестирования следующее будет распечатывать только то, что произошло:

 for fname in ./*.nfo.mp4; do newfname="$( basename "$fname" .mp4 )" printf 'Want to rename "%s" into "%s"\n' "$fname" "$newfname" ## mv -i "$fname" "$newfname" done 
  • Iptables: `nf_conntrack_ftp` не работает под debian
  • Невозможно использовать xpra: «Авторизация не распознана»
  • Ручное управление выходом hdmi из Beaglebone / Raspberry
  • Создание программы в корзине
  • не распознал мой текущий раздел на внешнем диске. Как исправить, не теряя данные?
  • Отправить сообщение на телефон Android с помощью bluetooth
  • sshd не запускается после загрузки встроенного linux, построенного с помощью buildroot?
  • `/ lib / firmware / BCM43430A1.hcd` принадлежит пользователю без полномочий root
  • Зачем мне нужна NFS для загрузки PXE в Linux?
  • SNR или уровень сигнала и шума в режиме ad-hoc
  • Как записать файл .img с двумя разными разделами?
  • Linux и Unix - лучшая ОС в мире.