rename files - Как переименовать все файлы в нижний регистр в Linux

Как переименовать все файлы в нижний регистр в Linux

findLinuxxargs

Эта статья покажет вам, как переименовать все имена файлов и каталогов в нижний регистр в Linux.

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

 

# find Files -depth

 

List-Directory-Structure - Как переименовать все файлы в нижний регистр в Linux

 

1. Использование команд find, xargs и rename

rename — это простая утилита командной строки для переименования нескольких файлов одновременно в Linux. Вы можете использовать её вместе с утилитой find для переименования всех файлов или подкаталогов в определенном каталоге в нижний регистр следующим образом:

 

$ find Files -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;

 

Объяснение опций, использованных в приведенной выше команде.

  • -depth — перечисляет содержимое каждого каталога в самом каталоге.
  • -n 1 — указывает xargs использовать не более одного аргумента в командной строке из результатов поиска.

Пример вывода после переименования файлов и подкаталогов в нижний регистр в каталоге Files.

 

Rename-Files-and-Directory-Names-to-Lowercase

 

Другой альтернативный способ использования команд find и mv в скрипте, как описано ниже.

 

2. Использование команд find и mv в скрипте оболочки

Сначала создайте свой скрипт (вы можете назвать его как угодно):

 

$ cd ~/bin
$ vi rename-files.sh

 

Затем добавьте код ниже в нем.

 

#!/bin/bash
#print usage
if [ -z $1 ];then
echo "Usage :$(basename $0) parent-directory"
exit 1
fi

#process all subdirectories and files in parent directory
all="$(find $1 -depth)"

 

for name in ${all}; do
#set new name in lower case for files and directories
new_name="$(dirname "${name}")/$(basename "${name}" | tr '[A-Z]' '[a-z]')"

#check if new name already exists
if [ "${name}" != "${new_name}" ]; then
[ ! -e "${new_name}" ] && mv -T "${name}" "${new_name}"; echo "${name} was renamed to ${new_name}" || echo "${name} wasn't renamed!"
fi
done

echo
echo
#list directories and file new names in lowercase
echo "Directories and files with new names in lowercase letters"
find $(echo $1 | tr 'A-Z' 'a-z') -depth

exit 0

 

Сохраните и закройте файл, затем сделайте скрипт исполняемым и запустите его:

 

$ chmod +x rename-files.sh
$ rename-files.sh Files #Specify Directory Name

 

Lowercase-File-and-Directories-using-Script - Как переименовать все файлы в нижний регистр в Linux

 

В этом руководстве мы объяснили вам, как переименовать все файлы и каталоги в нижний регистр в Linux.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
findLinuxxargs

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Самое читаемое
Меню