Удалить расширение файла в OS X с помощью терминала

Проблема:

У меня есть более 200 файлов с именами в соответствии с DSC01852.JPG.jpg. Я хотел бы удалить расширение файла, чтобы результат стал "DSC01852.JPG".

Какие-либо предложения? Я посмотрел на команду mv, но не мог понять, как написать правильную команду.

1 ответ

Решение

Если все эти файлы находятся в одном каталоге, вы можете переименовать их следующим образом:

for f in /some/dir/*.JPG.jpg; do
  mv "$f" "${f%.*}"
done

${f%.*} удаляет самый короткий текст, соответствующий шаблону .* (точка, за которой следует произвольный текст) от конца переменной $f (в данном случае имя файла), таким образом производя команды, подобные следующим:

mv "/some/dir/DSC01852.JPG.jpg" "/some/dir/DSC01852.JPG"
Другие вопросы по тегам