mv 重命名文件 删除它

mv 重命名文件 删除它

如果我有一个充满音乐的播放列表,我希望它随机播放,因为我不想一遍又一遍地听同一首歌的顺序,因为它很快就会让人厌烦。这里也是一样,但有图片

所以我想让我的文件随机化,我查找了一个随机化文件名的命令,然后我得到了这个

for file in *.jpg; do
mv -- "$file" "$RANDOM-$RANDOM-$RANDOM.jpeg"
done

效果很好,但问题是它只改变了 jpeg,所以我这样做了

for file in *.jpg; do
mv -- "$file" "$RANDOM-$RANDOM-$RANDOM.jpeg"
done

for file in *.jpeg; do
mv -- "$file" "$RANDOM-$RANDOM-$RANDOM.jpg"
done

for file in *.JPG; do
mv -- "$file" "$RANDOM-$RANDOM-$RANDOM.png"
done

我以 shell 脚本的形式运行了此命令,它删除了文件夹中的所有文件。而且找不到任何地方。我还在可移动磁盘中运行了它

编辑:

事实证明,这只是一个视觉故障,停电就解决了。

我花了这么长时间来编辑它的原因是我的启动被损坏了,而且花了很长时间来修复它。

感谢所有试图提供帮助的人。

答案1

您可以利用Python编程语言非常容易实现这一点:

import glob
import random

# reads in from the current folder the files with the pattern *.mp3 and assign it to a variable of type list.
music_files = glob.glob("*.mp3")

# is picking randomnized a file from the variable.
random_music_file = random.choice(music_files)

Python在每个 Ubuntu 安装上都会预先安装。

答案2

为了能够找到您的文件,名称中包含五位数字和一个破折号,并且名称以 jpg 结尾:

首先
$ sudo updatedb要更新数据库...然后
$ locate --regex "[0-9]{5}-.*jpg$"

哦,还有事先的对于您需要的人,例如
$ sudo apt install mlocate-如果您还没有这样做的话。

还有一件事:如果 PRUNEPATHS= 恰好/etc/updatedb.conf包含文件所在的路径,则不会显示它们。

相关内容