将没有扩展名的文件重命名为带有扩展名的随机文件{1、2……}

3
我看到了如何一次重命名多个文件并更改它们的扩展名,就像这个例子所示: $ rename -v 's/\.htm$/\.html/' *.htm 3.htm 重命名为 3.html 4.htm 重命名为 4.html 5.htm 重命名为 5.html
但是你知道,在Linux中唯一的问题是它不需要扩展名,因此我的文件没有扩展名,我想同时给它们添加jpg扩展名,并为它们提供随机编号名称,例如0.jpg,1.jpg等。
如果您能给我一个简单的bash命令来完成这个任务,那就非常感谢。

你的文件都是同一种类型的,还是需要检测文件类型? - Reto
文件类型已删除(无文件类型) - Yuba Sin
1个回答

2

随机文件名可能存在重叠问题,如果你想使用连续的编号,可以尝试以下方式(假设文件都在当前目录下):

$ touch some files without extensions
$ ls
extensions  files  some  without

$ i=0; for f in *; do mv ${f} $((i=++i)).ext; done
$ ls
1.ext  2.ext  3.ext  4.ext

谢谢你,Cyrus,它像魔法一样起作用了。 Karakfa,你也谢谢,你的方法也像魔法一样奏效。 我尝试了两种方法,它们对我来说都很有效,只是第一种方法我必须安装mmv(我的机器上没有它)。 - Yuba Sin
嗯... Cyrus 删掉了他/她的回答。 - karakfa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接