Есть ли способ переименовать все файлы в каталоге в нижний регистр | uppercase?
Я ищу команду для всех файлов .
I любил TotalCommander alt+f7, теперь мне нужна эта функциональность в терминале
Более элегантная и общая утилита называется prename.
Автор Larry Wall, она поставляется с perl, поэтому она скорее всего уже доступна в вашей системе как /usr/bin/prename (если вы альтернативные варианты установки также могут быть доступны как /usr/bin/rename, символически привязанные через / etc / alternatives к prename)
Используя его, вы можете переименовать несколько файлов в одну команду, предоставив любое выражение perl (включая, но не ограничиваясь к подстановке s/// или транслитерации символов tr///):
Примеры:
# Lowercase all *.JPG filenames:
prename tr/A-Z/a-z/ *.JPG
# Change any 'No' in a filename to a 'Yes':
prename s/No/Yes/g *No*
# increment first sequence of digits in a filename by 3:
prename 's/([0-9]+)/$1+3/e' *[0-9]*
# If a file contains 'aaa', append '.bak' to its name
prename 'if (/aaa/) {$_ .= ".bak"}' *
И так далее.
Еще одна приятная вещь о пренаме - это то, что он защищает вас в случае переименования файла в существующее имя файла.
man prename для более подробной информации.
find . -name * -type f -exec rename 'y/A-Z/a-z/' '{}' \;