Преобразование верхнего регистра в нижний регистр имен файлов

Попробуйте найти (команда Linux)

Во многих случаях предпочтительнее иметь строчные имена файлов и каталогов. Переименование по одному - очень тяжелая работа. Работа становится более сложной, особенно при наличии сотен или тысяч файлов. Но это не означает, что это невозможно или что нет способов сделать это полностью быстрым и автоматизированным способом.

Но помимо чистой эстетики или предпочтений каждого пользователя, иногда речь идет о технических проблемах, поскольку некоторые приложения не могут работать с определенными именами, написанными заглавными буквами и их нужно преобразовать. Когда вы сталкиваетесь с одним из этих приложений, возможно, вы долгое время накапливали файлы с разными именами, и вернуться назад становится сложно. Но не волнуйтесь, у него есть простое решение, как я покажу вам в этом уроке ...

Преобразование верхнего регистра в нижний регистр

Команда для переключения с верхнего регистра на нижний

Первое, что вы должны знать, это то, что следующая команда преобразует все прописные в строчные, в том числе, если в этом каталоге есть подкаталоги. Поэтому, если вы не хотите, чтобы все они были строчными, просто сделайте это в определенном каталоге, или он все конвертирует за вас. Мне это кажется важным, чтобы в дальнейшем у вас не было проблем и имена, которые вы не хотели преобразовывать в нижний регистр, преобразовывались.

С другой стороны, вам нужно установить программу переименования. Если он у вас не установлен, используйте диспетчер пакетов вашего дистрибутива, чтобы легко установить его. Однако, как правило, он должен быть установлен, поэтому нет необходимости устанавливать его во всех случаях. Этот инструмент поможет вам изменить несколько имен одновременно, вместо того, чтобы использовать обычный mv для изменения имени одно за другим ...

Еще одна вещь, которую вам нужно знать, прежде чем приступить к работе, заключается в том, что если при преобразовании из верхнего регистра в нижний регистр встречается с тем же именем, он не будет преобразован. Вы уже знаете, что в Linux есть с учетом регистра в вашей FS, поэтому он чувствителен к регистру. Это означает, что если у вас есть файл с именем Hello2 и HELLO2, система их различает. Но, конечно ... когда они перейдут в нижний регистр, они оба будут называться hello2, а это невозможно. Следовательно, он выдаст сообщение об ошибке и не преобразует его.

После этого у вас есть все, что вам нужно знать, и мы можем начать преобразовывать имена из верхнего регистра в нижний. В общая команда Это будет следующее, и вы можете изменить его так, чтобы он указывал на нужный каталог:

<br data-mce-bogus="1">

<em>find &lt;nombre_directorio&gt; -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}" ] &amp;&amp; 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

Надеюсь, это помогло вам, вы знаете, что любые вопросы или предложения, вы можете оставлять свои комментарии...


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Комментарий, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   yo сказал

    В debian он говорит мне следующее:
    -bash: синтаксическая ошибка рядом с неожиданным токеном `новой строки

    найти -глубина | xargs -n 2 переименовать -v 's /(.*)\/([^\/♡*)/$ 1 \ / \ L $ 1 /' {} \;