Та же проблема с использованием MacOS Sierra (также El Captain) на хосте VMWare 12/iPhone 5s/Arch Linux.
Я могу подтвердить, что это работает как на Sierra, так и на El Captain. Возможно, вам придется попробовать другие последовательности после этого. Например, держать штекер подключенным и монтировать устройство перед запуском вашей виртуальной машины, кажется, работает лучше, чем при первом монтировании.
"rename" - это утилита, которая делает именно то, что вам нужно:
rename 's/.mp4//' *.mp4
man переименовать для получения другой информации
Чтобы удалить расширение .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