我想将目录中的文件重命名为顺序数字。根据文件的创建日期。

例如,sadf.jpg到0001.jpg, wrjr3.jpg到0002.jpg等等,前导零的数量取决于文件的总数(如果不需要,不需要额外的零)。


当前回答

a=1

for i in *.jpg; do
 mv -- "$i" "$a.jpg"
 a=`expr $a + 1`
done

其他回答

现在有一个选项后,你选择多个文件重命名(我已经看到在thunar文件管理器)。

选择多个文件 检查选项 选择重命名

在该特定目录下的所有文件都会出现提示符 只要在分类部分检查一下就可以了

Pero的回答把我带到了这里:)

我想相对于时间重命名文件,因为图像查看器没有按时间顺序显示图像。

ls -tr *.jpg | # list jpegs relative to time
gawk 'BEGIN{ a=1 }{ printf "mv %s %04d.jpg\n", $0, a++ }' | # build mv command
bash # run that command
find .  | grep 'avi' | nl -nrz -w3 -v1 | while read n f; do mv "$f" "$n.avi"; done

找到。将显示文件夹和子文件夹中的所有文件。

Grep 'avi'将过滤所有avi扩展名的文件。

Nl -nrz -w3 -v1将显示从001 002开始的序列号,后面跟着文件名。

当读n f;做mv "$f" "$ n.v v ";Done会将文件名更改为序列号。

用“重命名”命令

rename -N 0001 -X 's/.*/$N/' *.jpg

or

rename -N 0001 's/.*/$N.jpg/' *.jpg
ls -1tr | rename -vn 's/.*/our $i;if(!$i){$i=1;} sprintf("%04d.jpg", $i++)/e'

重命名-vn -删除n为关闭测试模式

{$i=1;} -控制起始编号

"%04d.jpg" -控制计数零04并设置输出扩展名。jpg