如何批量随机重命名文件(.jpg)?

如何批量随机重命名文件(.jpg)?

好的,我有一个数码相框,可以从 USB 查看照片。一切正常,但是无法随机显示图片。所以,我必须按顺序查看图片,这很好,但不是我想要的。

我想知道是否有办法批量重命名我查看的 .jpg 图片,但重命名方式是随机的?是在名称开头添加随机字符,还是替换 .jpg 之前的字符

感谢您的时间和回答。

答案1

我认为下面的方法可行。假设文件名的前缀是“DSC”,您可以在终端中使用以下命令(未经测试!

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

这将使用 perl rename 命令匹配正则表达式并替换它们。在本例中,我们将所有 .jpg 文件的文件名中的“DSC”替换为随机数。将“DSC”更改为照片的前缀。

另一种方法(也未经测试)是使用 bash 脚本:

#!/bin/bash
for f in *.jpg; do
  mv "$f" $RANDOM-"$f"
done

答案2

#!/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文件随机命名为随机名称。

答案3

以下一行脚本适用于带有白色字符的文件名。

for f in *.jpg; do mv -n "$f" "${f/*/$RANDOM.jpg}"; done

相关内容