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

Та же проблема с использованием MacOS Sierra (также El Captain) на хосте VMWare 12/iPhone 5s/Arch Linux.

Проблема устранена после выполнения этих шагов.

  • Перед запуском VMWare подключите ваше устройство к хосту. IPhone попросит установить этот компьютер как «доверенный»
  • Откройте VMWare (используя USB 3.0)
  • Смонтируйте USB-устройство в гостевой ОС, телефон СНОВА попросит авторизовать это второе оборудование.

Я могу подтвердить, что это работает как на Sierra, так и на El Captain. Возможно, вам придется попробовать другие последовательности после этого. Например, держать штекер подключенным и монтировать устройство перед запуском вашей виртуальной машины, кажется, работает лучше, чем при первом монтировании.

0
15.01.2017, 21:13
2 ответа

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

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

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

1
28.01.2020, 02:25

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

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

Утилита basename одновременно удаляет путь (оставляет только имя файла) и может удалить суффикс за один раз. Мы можем удалить путь здесь, не добавляя его снова, поскольку нас интересует только текущий каталог. Эквивалентный эффект был бы достигнут при использовании расширения параметра 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
2
28.01.2020, 02:25

Теги

Похожие вопросы