Para cada arquivo a_file
no diretório atual, renomeie a_file
para minúscula.
for a_file in *;do mv -v "$a_file" 'echo "$a_file" | tr [:upper:] [:lower:]' ;done;
Para letras maiúsculas, inverta os argumentos para [:lower:] [:upper:]
tr
Referência de comando link
Atualizar
Para um controle ainda maior, *
pode ser substituído por ls
.
Por exemplo, em um diretório contendo 1.txt, 2.txt, 3.txt, 1.jpg, 2.jpg e 3.jpg para filtrar apenas arquivos * .jpg, ls
pode ser usado:
for a_file in $(ls *.jpg);do mv -v $a_file 'echo $a_file | tr [:upper:] [:lower:]' ;done;
O código acima atribuirá à variável a_file
todos os arquivos com extensão .jpg.
Atualizar adicionou a opção -v
ao comando mv
conforme sds sugerido.