重命名 Jpeg 的大文件夹
Rename large folder of Jpegs
我有一个很大的 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”, [=10=], x++ }' | bash
然而,这只是返回
>
然后什么也没发生,有什么建议就好了。
您可以使用 bash 脚本来做到这一点。假设您在名为 rename_images
.
的文件中包含以下内容
#!/bin/bash
declare -a FILESERIES
FILESERIES=(`ls `)
NUM=${#FILESERIES[@]}
NEWNAME=
EXT=
for (( i=0; i<$NUM ; i++))
do
FI=${FILESERIES[$i]}
NEWFILENAME=`echo $NEWNAME$i$EXT`
mv $FI $NEWFILENAME
done
要完成您需要的工作,运行 文件夹中的脚本以及所有图像如下:
./rename_images '*.jpg' image .jpg
你应该被分类。
最简单的方法是使用 rename
,您可以使用 homebrew 安装它:
brew install rename
然后,您可以进入包含图像和 运行:
的目录
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'
如果看起来正确,您可以再次 运行 它而无需 --dry-run
实际执行它,而不仅仅是告诉您它会做什么。
如果你想要你的名字 zero-padded,最简单的方法是让 rename
像这样自动计算出你需要多少填充:
rename --dry-run -X -N ...01 -e '$_ = "$N"' *jpg
使用 rename
的好处是:
- 简单而强大
- 它会在覆盖任何文件之前警告您
- 它可以干 运行 并告诉你什么都不做就告诉你会发生什么
如果您想要命令的解释 '$_ = "$N"'
然后继续阅读...
rename
命令实际上是一个Perl脚本,所以我上面提到的部分只是用单引号括起来的Perl脚本。 $N
只是一个 Perl 变量,它扩展为一个连续递增的数字。在执行您的小 Perl 脚本之前,Perl 特殊变量 $_
填充了当前文件的名称,并且至关重要的是,您应该将其设置为您希望输入文件重命名为的名称。
我有一个很大的 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”, [=10=], x++ }' | bash
然而,这只是返回
>
然后什么也没发生,有什么建议就好了。
您可以使用 bash 脚本来做到这一点。假设您在名为 rename_images
.
#!/bin/bash
declare -a FILESERIES
FILESERIES=(`ls `)
NUM=${#FILESERIES[@]}
NEWNAME=
EXT=
for (( i=0; i<$NUM ; i++))
do
FI=${FILESERIES[$i]}
NEWFILENAME=`echo $NEWNAME$i$EXT`
mv $FI $NEWFILENAME
done
要完成您需要的工作,运行 文件夹中的脚本以及所有图像如下:
./rename_images '*.jpg' image .jpg
你应该被分类。
最简单的方法是使用 rename
,您可以使用 homebrew 安装它:
brew install rename
然后,您可以进入包含图像和 运行:
的目录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'
如果看起来正确,您可以再次 运行 它而无需 --dry-run
实际执行它,而不仅仅是告诉您它会做什么。
如果你想要你的名字 zero-padded,最简单的方法是让 rename
像这样自动计算出你需要多少填充:
rename --dry-run -X -N ...01 -e '$_ = "$N"' *jpg
使用 rename
的好处是:
- 简单而强大
- 它会在覆盖任何文件之前警告您
- 它可以干 运行 并告诉你什么都不做就告诉你会发生什么
如果您想要命令的解释 '$_ = "$N"'
然后继续阅读...
rename
命令实际上是一个Perl脚本,所以我上面提到的部分只是用单引号括起来的Perl脚本。 $N
只是一个 Perl 变量,它扩展为一个连续递增的数字。在执行您的小 Perl 脚本之前,Perl 特殊变量 $_
填充了当前文件的名称,并且至关重要的是,您应该将其设置为您希望输入文件重命名为的名称。