【发布时间】:2021-04-20 20:13:50
【问题描述】:
我没有大量使用 perl。我有一个图像文件列表,需要用递增计数器重命名。
images folder
image_1_0.jpg
image_1_1.jpg
image_2_0.jpg
image_2_1.jpg
image_3_0.jpg
image_3_1.jpg
image_3_2.jpg
image_4_0.jpg
image_5_0.jpg
image_5_1.jpg
image_5_2.jpg
image_5_3.jpg
image_5_4.jpg
image_5_5.jpg
output would be
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg
7.jpg
8.jpg
9.jpg
10.jpg
11.jpg
12.jpg
13.jpg
14.jpg
15.jpg
我目前拥有的
my $dir = usr/local/bin/images
my counter = 0;
opendir (IMGDIR, "$dir") or die "Cannot open directory: $!";
my @files = readdir(IMGDIR);
foreach my $oldfile(@files){
(my $oldfileb = $oldfile =~ s/\.[^.]+$//; #get file without extention
my $newfile = $dir/"$counter".jpg;
rename ("$dir/$oldfileb", "dir/$newfile");counter++;
}
尝试更多地使用 Perl,但可以使用一些帮助。在代码的计数器部分给出错误
【问题讨论】:
-
也许您正在寻找rename 实用程序。
-
显然您遇到了错误。在寻求帮助时,您应该包括那些。此外,您应该使用
use strict; use warnings;来获取有关您的代码的关键信息。
标签: perl