У меня есть каталог, и некоторые расширения файлов указаны в верхнем регистре (.JPG) вместо строчных.
Я хочу убедиться, что каждый файл имеет расширение .jpg. Как бы я сделал это из командной строки?
Использование расширения параметров оболочки:
for f in *.JPG; do
mv "${f}" "${f%%.JPG}.jpg"
done
В "
будут заботиться о именах файлов , содержащих пробелы, так как фотографии часто.
Если вы можете использовать внешние инструменты (не только bash), проверьте команду rename
!
rename .JPG .jpg *
rename
является частью util-linux
.
Если у вас есть пробелы в именах файлов:
for f in *.JPG; do [[ -f "${f}" ]] && mv "${f}" "${f/%JPG/jpg}"; done
если у вас нет пробелов в именах файлов:
for f in *.JPG; do mv $f `echo $f | sed 's/JPG$/jpg/'`; done