Как пакетно переименовать файлы (.jpg) в случайном порядке?

Хорошо, у меня есть цифровая фоторамка, и я вижу свои фотографии с USB. Все работает нормально, однако нет возможности отображать картинки в случайном порядке. Поэтому я должен смотреть свои фотографии по порядку, что хорошо, но не совсем то, что я хочу.

Мне интересно, есть ли способ получить мои фотографии .jpg, которые я бы хотел переименовать в пакетном режиме, но переименовать случайно? Будь то добавление случайных символов в начале имени или замена символов перед .jpg

Спасибо за ваше время и ответы.

2
задан 13 May 2013 в 07:44

3 ответа

Сценарий, следующий за одной строкой, работает для имен файлов с белыми символами.

for f in *.jpg; do mv -n "$f" "${f/*/$RANDOM.jpg}"; done
0
ответ дан 13 May 2013 в 07:44

Я полагаю, что следующее может работать. Предполагая, что префикс ваших имен файлов - «DSC», вы можете использовать следующую команду в терминале ( не проверено! )

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

Используется команда perl rename для сопоставления регулярных выражений и замены их. В этом случае мы заменяем «DSC» случайным числом в имени файла для всех файлов .jpg. Измените "DSC" на префикс ваших фотографий.

другой метод (также не проверенный) с использованием bash-скрипта:

#!/bin/bash
for f in *.jpg; do
  mv "$f" $RANDOM-"$f"
done
0
ответ дан 13 May 2013 в 07:44
#!/bin/bash    
for img in *.jpg; do
newname=$(head /dev/urandom | tr -dc a-z0-9 | head -c 8)
mv "$img" "$newname".jpg
done

Это перетасует все файлы jpg на случайные имена.

1
ответ дан 7 December 2019 в 02:01

Другие вопросы по тегам:

Похожие вопросы: