Veja este script. Eu tentei exatamente o que você queria.
#!/bin/bash
for item in *.mp3
do
mv "$item" "$(cat /dev/urandom | tr -cd 'a-z' | head -c 1) $item"
done
Como as letras aleatórias são recolhidas
Aqui estou pegando strings de /dev/urandom
e excluindo todos os caracteres que não estão entre [a-z] e, finalmente, mantendo apenas a primeira letra.
Como usar
Copie o código para um arquivo, digamos rename_song.sh
, conceda a ele permissão de execução usando o terminal da seguinte forma,
chmod +x /path/to/rename_song.sh
Copie rename_song.sh
para o diretório em que você tem .mp3
arquivos. execute o script a partir do terminal (primeiro navegue até o diretório onde você tem .mp3
files) como,
./rename_song.sh
Se você tem uma lista de arquivos como
song.mp3 song1.mp3 song2.mp3
song3.mp3 song4.mp3 song5.mp3
Eles serão renomeados assim:
a song.mp3 g song1.mp3 k song2.mp3
r song3.mp3 P song4.mp3 A song5.mp3
Se você quiser letras e números, substitua tr -cd 'a-z'
por tr -cd 'a-z0-9'
e é sempre melhor usar um simples shell glob em vez de analisar a saída de ls
.