7

Проблема:

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

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

1 ответ1

8

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

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

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

mv "/some/dir/DSC01852.JPG.jpg" "/some/dir/DSC01852.JPG"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .