Script para converter nomes de arquivos em minúsculas, dependendo da extensão

2

Script para converter nomes de arquivos em minúsculas, dependendo da extensão

    
por gfhfghfg 20.12.2012 / 10:43

2 respostas

1

Para fazer recursivamente por um número de extensões, você pode usar o zmv do zsh:

zsh -c '
   autoload zmv
   ext=(jpg mp3 ogg)
   zmv -n "(**/)(*.(#i)(${(j:|:)ext}))" "\\${(L)2}"'

(remova -n (ou substitua-o por -v ) quando estiver satisfeito).

Acima de (#i) , é necessário ativar a globalização sem distinção entre maiúsculas e minúsculas e ${(j:|:)ext} é unir os elementos da lista $ext com | . Você também pode escrever diretamente:

zsh -c '
   autoload zmv
   zmv -n "(**/)(*.(#i)(ogg|jpg|mp3))" "\\${(L)2}"'
    
por 20.12.2012 / 11:51
0

Não tenho certeza de como sua pergunta está vinculada ao código, por isso vou me concentrar na questão.

Em bash versões 4 e acima, você pode fazer isso usando algo como o seguinte:

for file in ./*.JPG; do     # Iterate over all items in the current directory that match *.JPG
    mv "$file" "${file,,}"  # Move the file found to a lowercase mapping (this is what the ,, parameter expansion method does)
done

Obviamente, substitua *.JPG pela extensão equivalente que você deseja.

    
por 20.12.2012 / 10:48