Я должен изменить постфиксы всех файлов (весь одинаковый.JPEG) к .jpeg (Капитал по сравнению с нижним регистром).
Существует ли быстрый способ сделать так?
Используйте программу Perl rename
который установлен по умолчанию:
rename 's/\.JPEG$/.jpeg/' *.JPEG
Первым аргументом является регулярное выражение Perl, соответствующее именам файлов, заканчивающимся .JPEG
и замены это с .jpeg
.
Второй аргумент выбирает файлы, которые должны быть подобраны в Вашем случае каждый файл в текущем каталоге, заканчивающемся на .JPEG
. Вы могли указать другое местоположение, конечно:
rename 's/\.JPEG$/.jpeg/' ~/Pictures/*.JPEG
Другие ответы я видел:
rename s/.JPEG$/.jpeg/ *
- это также переименует файлы как StupidJPEG
кому: Stupi.jpeg
потому что точка является соответствиями любой символ. .JPEG$
регулярное выражениеrename 's/\.JPEG$/\.jpeg/' *
- работы, но это менее эффективно, потому что это передает все файлы в текущем каталоге к rename
.rename -n 's/.JPEG$/.jpeg/' *.JPEG
- -n
опция показала бы переименовываемые файлы, на самом деле не переименовывая их ("пробный прогон"). Поскольку *.JPEG
файлы соответствий, снабженные постфиксом .JPEG
только, проблема dot-matches-all не существует здесь.Хотя это - возможно не лучшее решение для этого конкретного случая использования,
for i in *.JPEG; do mv "$i" "$(basename "$i" .JPEG).jpeg"; done
также работы. Мы можем сделать некоторую коварность с ударом для небольшого увеличения эффективности (избегающий в вызове дополнительного подпроцесса во внутреннем цикле), закончив с:
for i in *.JPEG; do mv "$i" "${i%%.JPEG}.jpeg"; done
Это решение является самым полезным, если Вы хотите сделать что-то еще в дополнении к переименованию файлов, таких как вход, какие имена изменились, или даже просто выполнение пробного прогона, чтобы гарантировать, что это делает то, что Вы хотите.
Существует инструмент для этого:
sudo apt-get install renameutils
или нажмите renameutils
(если не уже установленный)
где можно сделать (из командной строки):
rename s/\.JPEG$/\.jpeg/ *.JPEG
Найденный им спустя секунду после регистрации:
rename 's/\.JPEG$/.jpeg/' *
Используйте переименовать команду. Это отличается, чем перемещение и часто является беспорядком причин, потому что это было конкретно создано с изображением, переименовывающим в памяти.
Что-то вроде этого управляет, должен работать (для всех файлов, которые заканчиваются в.JPEG, изменяют.JPEG на .jpeg),
переименуйте-n 's/.JPEG$/.jpeg /' *.JPEG
Если Вы ищете хорошее решение GUI и не хотите слоняться без дела со сложными параметрами командной строки, существует большой сценарий Наутилуса, доступный для переименования файлов. Это имеет простой интерфейс и много опций.
Доступный здесь: http://gnome-look.org/content/show.php/Renamer?content=87601
Выполнение вещей параллельно становится все более важным, следовательно я рекомендую:
parallel mv {} {.}.jpg ::: *.JPG
Эта утилита не установлена по умолчанию все же.