好的,我有一个数码相框,可以从 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