pre=file ;
for old in * ;
do new='xxd -l 16 -ps /dev/urandom' ;
while [ -f "$pre-$new" ] ; do new='xxd -l 16 -ps /dev/urandom' ; done ;
mv "$old" "$pre-$new" ;
done ;
xxd
é um binário que geralmente vem com: vim-common
package.
O atributo
xxd
-l refere-se ao comprimento aleatório que você deseja.
xxd
-ps é para obter nomes de estilo simples hexadump postscript, por exemplo: a4c794f3861f5d3e36ca9b0afd15ceab
/dev/urandom
é o gerador de números pseudo-aleatórios do kernel do Linux, se você não tiver, apenas escreva: mknod -m 444 /dev/urandom c 1 9
o comando while [ -f "$pre-$new" ]
garante que nenhum outro arquivo tem o mesmo nome.
o comando [
geralmente vem em coreutils
package.
a variável pre
é escolher um prefixo de nome. Se você não quiser um prefixo, pode deixar em branco: pre= ;
Por exemplo:
file 1
file 2
file 3
file 4
file 5
Com pre=file
se torna:
file-062b9bcde91f1c56084956d175cfdfa3
file-3e7ec1bd5324a485a3402b106d320f73
file-648cf4550c70b2531350f231670fc982
file-074b2828b004f45581784ff1705c7ff3
file-481be2bb21f4b1e637293ae0ecf14f74