Во многих случаях предпочтительнее иметь строчные имена файлов и каталогов. Переименование по одному - очень тяжелая работа. Работа становится более сложной, особенно при наличии сотен или тысяч файлов. Но это не означает, что это невозможно или что нет способов сделать это полностью быстрым и автоматизированным способом.
Но помимо чистой эстетики или предпочтений каждого пользователя, иногда речь идет о технических проблемах, поскольку некоторые приложения не могут работать с определенными именами, написанными заглавными буквами и их нужно преобразовать. Когда вы сталкиваетесь с одним из этих приложений, возможно, вы долгое время накапливали файлы с разными именами, и вернуться назад становится сложно. Но не волнуйтесь, у него есть простое решение, как я покажу вам в этом уроке ...
Преобразование верхнего регистра в нижний регистр
Первое, что вы должны знать, это то, что следующая команда преобразует все прописные в строчные, в том числе, если в этом каталоге есть подкаталоги. Поэтому, если вы не хотите, чтобы все они были строчными, просто сделайте это в определенном каталоге, или он все конвертирует за вас. Мне это кажется важным, чтобы в дальнейшем у вас не было проблем и имена, которые вы не хотели преобразовывать в нижний регистр, преобразовывались.
С другой стороны, вам нужно установить программу переименования. Если он у вас не установлен, используйте диспетчер пакетов вашего дистрибутива, чтобы легко установить его. Однако, как правило, он должен быть установлен, поэтому нет необходимости устанавливать его во всех случаях. Этот инструмент поможет вам изменить несколько имен одновременно, вместо того, чтобы использовать обычный mv для изменения имени одно за другим ...
Еще одна вещь, которую вам нужно знать, прежде чем приступить к работе, заключается в том, что если при преобразовании из верхнего регистра в нижний регистр встречается с тем же именем, он не будет преобразован. Вы уже знаете, что в Linux есть с учетом регистра в вашей FS, поэтому он чувствителен к регистру. Это означает, что если у вас есть файл с именем Hello2 и HELLO2, система их различает. Но, конечно ... когда они перейдут в нижний регистр, они оба будут называться hello2, а это невозможно. Следовательно, он выдаст сообщение об ошибке и не преобразует его.
После этого у вас есть все, что вам нужно знать, и мы можем начать преобразовывать имена из верхнего регистра в нижний. В общая команда Это будет следующее, и вы можете изменить его так, чтобы он указывал на нужный каталог:
<br data-mce-bogus="1"> <em>find <nombre_directorio> -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;</em>
Debes заменять по имени каталога или пути к каталогу, который вы хотите сделать строчными буквами. Например, как в примере, который я показываю вам на изображении, это Test, но это также может быть любой другой. Для новичков скажите, что под путем я подразумеваю путь, когда он не находится непосредственно в каталоге, в котором вы сейчас находитесь. Например, если вы находитесь в ~ /, но хотите действовать в / home / user / Downloads.
Преобразуйте его в скрипт
Чтобы облегчить преобразование верхнего и нижнего регистра, вы можете создать скрипт пусть он сделает это за вас, и вам не придется вводить указанную выше команду каждый раз, когда вам понадобится преобразование. Это очень полезно для тех, кто постоянно передает имена. Кроме того, если вы поместите его в любой из путей переменной среды $ PATH, вы можете выполнить его, просто вызвав его имя, без необходимости иметь его в том же каталоге, где вы работаете, или указывать полный путь ...
шаги, которые необходимо выполнить для создания скрипта конвертера являются:
- Во-первых, это перейти в каталог / bin чтобы включить сценарий туда и, таким образом, использовать его как любую другую команду, просто вызывая его имя из терминала.
<br data-mce-bogus="1"> cd ~/bin<br data-mce-bogus="1">
- Затем творить с нано, или в вашем любимом текстовом редакторе файл со сценарием и назовите его как хотите. Я назову это маютомину:
sudo nano mayutominu.sh
- Внутри nano вы должны вставить следующий текст для код этого скрипта из bash:
</pre><pre>#!/bin/bash if [ -z $1 ];then echo "Uso :$(basename $0) parent-directory" exit 1 fi all="$(find $1 -depth)" for name in ${all}; do new_name="$(dirname "${name}")/$(basename "${name}" | tr '[A-Z]' '[a-z]')" 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 exit 0</pre><pre>
- Сейчас сохраните файл используя комбинацию клавиш Ctrl + O и выйдите, нажав Ctrl + X. У вас уже есть файл mayutominu.sh, созданный с помощью сценария, следующее: дать разрешение исполнения:
sudo chmod +x mayutominu.sh
- Наконец-то ты понял готов к использованию. Как ты делаешь это? Что ж, продолжая тот же пример из предыдущего раздела, если вы хотите изменить имена тестового каталога с верхнего регистра на нижний регистр, вы можете сделать следующее:
mayutominu Prueba
- Вы знаете, если вам нужно указать полный путь или путь, вы также можете, если каталог находится не в текущей позиции. Например:
mayutominu /home/usuario/Descargas
Надеюсь, это помогло вам, вы знаете, что любые вопросы или предложения, вы можете оставлять свои комментарии...
В debian он говорит мне следующее:
-bash: синтаксическая ошибка рядом с неожиданным токеном `новой строки
найти -глубина | xargs -n 2 переименовать -v 's /(.*)\/([^\/♡*)/$ 1 \ / \ L $ 1 /' {} \;