重命名JPEG的大文件夹

重命名JPEG的大文件夹,jpeg,Jpeg,我有一个很大的JPEG文件夹,我想按顺序将其重命名为image01.jpg、image02.jpg…image533jpg等 我试过使用以下方法 find ‘/myImages/‘ -maxdepth 1 -name ‘*.jpg’ | sort -n | awk 'BEGIN{ x=1 }{printf "mv \"%s\" \”/myImages/image%04d.jpg\”\n”, $0, x++ }' | bash 我从这里得到: 然而,这只是回归 > 然后什么都不会发生,

我有一个很大的JPEG文件夹,我想按顺序将其重命名为image01.jpg、image02.jpg…image533jpg等

我试过使用以下方法

find ‘/myImages/‘ -maxdepth 1 -name ‘*.jpg’ | sort -n | awk 'BEGIN{ x=1 }{printf "mv \"%s\" \”/myImages/image%04d.jpg\”\n”, $0, x++ }' | bash
我从这里得到:

然而,这只是回归

>


然后什么都不会发生,任何建议都会很好。

您可以使用bash脚本来实现这一点。假设您在一个名为rename_images的文件中包含以下内容

!/bin/bash declare-a文件系列 FILESERIES=`ls$1` NUM=${FILESERIES[@]} 新名称=$2 分机=$3
对于i=0;i最简单的方法是使用重命名,您可以使用以下方法使用自制软件进行安装:

然后,您可以进入包含图像的目录并运行:

rename --dry-run -X -e '$_ = "$N"' *jpg
样本输出

如果这看起来是正确的,您可以再次运行它,而不必进行实际的干运行,而不仅仅是告诉您它将做什么

如果您希望您的姓名零填充,最简单的方法是让rename自动计算出您需要的填充量,如下所示:

rename --dry-run -X -N ...01 -e '$_ = "$N"' *jpg
使用重命名的好处是:

它简单而强大 它将在覆盖任何文件之前警告您 它可以做一次试运行,告诉你会发生什么,而实际上什么都不做 如果您想了解命令“$\=$N”的解释,请继续阅读


rename命令实际上是一个Perl脚本,所以我上面提到的部分只是一个用单引号括起来的Perl脚本。$N只是一个Perl变量,它扩展为一个顺序递增的数字。在执行小Perl脚本之前,Perl特殊变量$将填充当前文件的名称,至关重要的是,您需要将其设置为您希望输入文件重命名为的名称。

您已经获取了一些代码并删除了Imagemagick部分,并且希望它仍能工作吗?我将寻找另一个例子,并从这篇文章中删除Imagemagick标记。您显示的许多引号都是智能引号-请尝试使用哑引号在它们上面键入,以查看是否有效。之所以会这样,是因为您有不匹配的引号。正如@L.ScottJohnson所说的,这可能是因为你的一些异性恋和异性恋已经变成了一个不同的角色。如果你在Linux上,在至少一个文件管理器中,你可以选择所有文件,点击F2,然后被要求提供一个模式来按顺序重命名文件。在Mac OSX上,我使用一个名为Namechanger的工具,我从应用商店获得。它工作得很好。嘿,马克,我刚刚试着运行了``rename-X-e'$\=$N'*jpg``但是它返回了``-bash:/usr/local/bin/rename:Argument list太长了``据说我正在16000张图片上尝试它,可能这就是问题所在吧?!我不在Mac电脑上测试,所以请试一下你的文件副本。你应该能找到-name*.jpg-print0 | rename-0 AllPreviousStuff,但不包含我在find中输入的*.JPGThanks标记-name*.jpg-print0 | rename-0-X-e'$\=$N',它成功了:
rename --dry-run -X -e '$_ = "$N"' *jpg
'a.jpg' would be renamed to '1.jpg'
'article.jpg' would be renamed to '2.jpg'
'blob-0.jpg' would be renamed to '3.jpg'
'blob-1.jpg' would be renamed to '4.jpg'
'blob-2.jpg' would be renamed to '5.jpg'
'blob-3.jpg' would be renamed to '6.jpg'
rename --dry-run -X -N ...01 -e '$_ = "$N"' *jpg