这是我的问题:我有一个包含 500 张图片的文件夹,名为:
1.jpg
2.jpg
3.jpg
等等..
我复制了该文件夹,现在我需要将相同的图片从 501 重命名为 1000,但顺序如下:
1.jpg becomes 501.jpg
2.jpg becomes 502.jpg
3.jpg becomes 503.jpg
....
当我使用标准重命名命令时:
i=501;for img in $(find . -iname '*.jpg'); do echo -n "Converting $img"; mv $img $i.jpg && echo $i && ((i++)); done
它按 501 到 1000 的顺序排列图像,但它们都很分散:
23.jpg becomes 501.jpg,
66.jpg becomes 502.jpg
...
(它们的顺序是正确的,但是它们混淆了)
我知道这可能是我遗漏的一个命令......
答案1
该find
命令按“目录”顺序查找文件(23.jpg
,,66.jpg
...)。您可以|sort
在查找后面放置一个。
但是你的方法过于复杂。
for i in $( seq 1 500 ) ; do
j=$(( $i + 500 ))
mv $i.jpg $j.jpg
done
答案2
带着rename
命令。
rename -n 's/^(\d+)/sprintf("%d",$1+500)/e' *.jpg
或者在纯净中bash
使用shell 参数扩展。
for FILE in *.jpg; do
mv "$FILE" "$(( ${FILE%.jpg}+500 )).jpg"
done
答案3
尝试图纳尔,这是 Xfce 的默认文件管理器。它非常轻量,并附带一个方便的批量重命名工具。您可以通过在终端中运行以下命令来安装 Thunar:
sudo apt-get install thunar
您也许也可以从 Ubuntu 软件进行安装。
如何使用该实用程序
- 安装 Thunar 后,启动批量重命名公用事业。
- 点击+图标并按适当的顺序添加要重命名的文件。
- 单击所选文件列表下方的下拉框并选择编号。点击旁边的框并选择仅限姓名。
- 在里面 ”从...开始:“框输入501,离开”文本:“框为空。您应该在新名字柱子。
- 要应用更改,请点击重命名文件按钮。
除了编号此实用程序支持以下操作:
- 插入日期/时间
- 插入/覆盖
- 删除字符
- 搜索和替换
- 大写小写
答案4
另一种方法是使用 shell 命令
count=1;for i in ls
; do mv $i CN$((count++)).${i##*.}; 完成