Pai*_*ler 8 command-line rename batch-rename
这是我的问题:我有一个包含 500 个图像的文件夹,名为:
1.jpg
2.jpg
3.jpg
Run Code Online (Sandbox Code Playgroud)
等等..
我复制了那个文件夹,现在我需要将这些相同的图片从 501 重命名为 1000,但顺序如下:
1.jpg becomes 501.jpg
2.jpg becomes 502.jpg
3.jpg becomes 503.jpg
....
Run Code Online (Sandbox Code Playgroud)
当我使用标准重命名命令时:
i=501;for img in $(find . -iname '*.jpg'); do echo -n "Converting $img"; mv $img $i.jpg && echo $i && ((i++)); done
Run Code Online (Sandbox Code Playgroud)
它将图像从 501 排序到 1000,但它们都是分散的:
23.jpg becomes 501.jpg,
66.jpg becomes 502.jpg
...
Run Code Online (Sandbox Code Playgroud)
(它们的顺序是正确的,但它混淆了它们)
我知道这可能是我遗漏的一个命令......
wal*_*tor 13
该find命令按“目录”顺序(23.jpg, 66.jpg, ...)查找文件。你可以|sort在找到之后放一个。
但是你的方法过于复杂。
for i in $( seq 1 500 ) ; do
j=$(( $i + 500 ))
mv $i.jpg $j.jpg
done
Run Code Online (Sandbox Code Playgroud)
αғs*_*нιη 11
用rename命令。
rename -n 's/^(\d+)/sprintf("%d",$1+500)/e' *.jpg
Run Code Online (Sandbox Code Playgroud)
或者在 purebash和使用shell 参数扩展中。
for FILE in *.jpg; do
mv "$FILE" "$(( ${FILE%.jpg}+500 )).jpg"
done
Run Code Online (Sandbox Code Playgroud)
试试Thunar,它是 Xfce 的默认文件管理器。它非常轻巧,并带有一个方便的批量重命名工具。您可以通过在终端中运行以下命令来安装 Thunar:
sudo apt-get install thunar
Run Code Online (Sandbox Code Playgroud)
您可能也可以从 Ubuntu 软件安装。
除了编号之外,此实用程序还支持以下操作:
如果我已经理解了您的正确要求,我认为您可以使用默认的重命名工具来完成:
rename 's/^(\d+)/sprintf("%d",$1+500)/e' *.jpg -vn
Run Code Online (Sandbox Code Playgroud)
您应该-vn在测试后删除(详细 - 无操作)开关,以使更改生效。
| 归档时间: |
|
| 查看次数: |
3649 次 |
| 最近记录: |