Como lote renomear arquivos (.jpg) aleatoriamente?

2

Ok, tenho uma moldura digital que tenho e vejo minhas fotos em um USB. Tudo funciona bem, no entanto, não há como exibir as imagens aleatoriamente. Então, eu tenho que assistir minhas fotos em ordem, o que é bom, mas não é realmente o que eu quero.

Eu estou querendo saber se existe uma maneira de ter minhas imagens .jpg, que vejo como renomeadas em lote, mas renomeadas aleatoriamente? Seja adicionando caracteres aleatórios ao início do nome ou substituindo os caracteres antes de .jpg

Obrigado pelo seu tempo e respostas.

    
por Dustin 13.05.2013 / 05:44

2 respostas

4

Suponho que o seguinte funcione. Supondo que o prefixo dos seus nomes de arquivos seja "DSC", você pode usar o seguinte comando no terminal ( não testado! )

cd /path/to/photos
rename 's/DSC/'$RANDOM'/' *.jpg

Isso usa o comando perl rename para corresponder às expressões regulares e substituí-las. Neste caso, estamos substituindo "DSC" por um número aleatório no nome do arquivo para todos os arquivos .jpg. Altere o "DSC" para o prefixo de suas fotos.

outro método (também não testado) é com um script bash:

#!/bin/bash
for f in *.jpg; do
  mv "$f" $RANDOM-"$f"
done
    
por amc 13.05.2013 / 06:57
0

Seguir um script de linha funciona para nomes de arquivo com caracteres brancos.

for f in *.jpg; do mv -n "$f" "${f/*/$RANDOM.jpg}"; done
    
por Grzegorz Żur 13.05.2013 / 09:11