Converter maiúsculas em minúsculas de nomes de arquivos

Tente encontrar (comando do Linux)

Em muitas ocasiões, é preferível ter o nomes de arquivos e diretórios em letras minúsculas. Mudar o nome um por um é um trabalho muito difícil. Principalmente quando há centenas ou milhares de arquivos, o trabalho se torna mais complicado e difícil de ser executado manualmente. Mas isso não significa que seja impossível ou que não existam métodos para fazê-lo de forma totalmente rápida e automatizada.

Mas além da estética pura ou das preferências de cada usuário, às vezes trata-se de questões técnicas, já que alguns os aplicativos não podem funcionar com determinados nomes em maiúsculas e eles precisam ser convertidos. Quando você se depara com um desses aplicativos, talvez já esteja acumulando arquivos com todos os tipos de nomes há muito tempo e voltar atrás se torna complicado. Mas não se preocupe, tem uma solução simples como mostro neste tutorial ...

Converter maiúsculas em minúsculas

Comando para mudar de maiúsculas para minúsculas

A primeira coisa que você deve saber é que o seguinte comando irá converter todas as letras maiúsculas em minúsculas, incluindo se houver subdiretórios nesse diretório. Portanto, se você não quiser que todos estejam em minúsculas, basta fazer no diretório específico ou ele converterá tudo para você. Isso me parece importante para que mais tarde você não tenha problemas e os nomes que não deseja que sejam convertidos em minúsculas sejam convertidos.

Por outro lado, você precisa ter o programa de renomeação instalado. Se você não o instalou, use o gerenciador de pacotes da sua distribuição para instalá-lo facilmente. No entanto, em geral, você deve tê-lo instalado, portanto, não será necessário instalá-lo em todos os casos. Esta ferramenta te servirá para poder modificar vários nomes ao mesmo tempo, ao invés de usar o típico mv para modificar o nome um por um ...

Outra coisa que você precisa saber antes de começar a trabalhar é que se, ao converter de maiúsculas para minúsculas, encontrar o mesmo nome, então não será convertido. Você já sabe que o Linux tem maiúsculas e Minúsculas em seu FS, por isso é sensível a maiúsculas e minúsculas. Isso significa que se você tiver um arquivo chamado Hello2 e HELLO2, o sistema os diferencia. Mas, é claro…, quando eles vão para minúsculas, ambos seriam chamados de hello2 e isso não é possível. Portanto, ele lançará uma mensagem de erro e não a transformará.

Depois disso, você tem tudo o que precisa saber e podemos começar a transformar os nomes de maiúsculas em minúsculas. O comando genérico Seria o seguinte, e você pode modificá-lo para apontar para o diretório que deseja:

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

<em>find &lt;nombre_directorio&gt; -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;</em>

Debes substituir pelo nome do diretório ou o caminho do diretório que você deseja tornar em minúsculas. Por exemplo, como o exemplo que mostro na imagem que é Teste, mas também poderia ser qualquer outro. Para iniciantes, diga que por caminho me refiro ao caminho, quando ele não está diretamente no diretório onde você está atualmente. Por exemplo, se você está em ~ / mas deseja atuar em / home / user / Downloads.

Converta em script

Para facilitar o conversão de maiúsculas e minúsculas, você pode criar um script deixe fazer isso por você e você não terá que digitar o comando acima sempre que precisar de uma conversão. Isso é muito útil para aqueles que estão constantemente passando nomes. Além disso, se você colocá-lo dentro de qualquer um dos caminhos da variável de ambiente $ PATH, você pode executá-lo apenas invocando seu nome, sem ter que tê-lo no mesmo diretório onde você está trabalhando ou especificar o caminho completo ...

Os etapas que você deve seguir para criar o script do conversor são:

  • O primeiro é vá para o diretório / bin para incluir o script lá e, assim, usá-lo como qualquer outro comando, simplesmente invocando seu nome no terminal.
<br data-mce-bogus="1">

cd ~/bin<br data-mce-bogus="1">

  • Depois criar com nano, ou com seu editor de texto favorito, o arquivo com o script e chame-o como preferir. Vou chamá-lo de mayutominu:
sudo nano mayutominu.sh

  • Dentro do nano, você deve colar o seguinte texto para o código deste script do 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>
  • Agora Salve o arquivo usando a combinação de teclas Ctrl + O e saia com Ctrl + X. Você já tem seu arquivo mayutominu.sh criado com o script, o seguinte é dar permissão de execução:
sudo chmod +x mayutominu.sh
  • Você finalmente entendeu pronto para usar. Como se faz? Bem, continuando com o mesmo exemplo da seção anterior, se você deseja alterar os nomes do diretório Test de maiúsculas para minúsculas, você pode fazer o seguinte:
mayutominu Prueba
  • Você sabe, se você precisar especificar o caminho completo, ou caminho, você também pode, se o diretório não estiver na posição atual. Por exemplo:
mayutominu /home/usuario/Descargas

Espero que tenha ajudado, você sabe que alguma dúvida ou sugestão, você pode deixar seus comentários...


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   yo dito

    No debian, ele me diz o seguinte:
    -bash: erro de sintaxe próximo ao token inesperado `nova linha

    achar -depth | xargs -n 2 renomear -v 's /(.*)\/(((^\/)*)/$ 1 \ / \ L $ 1 /' {} \;