【发布时间】:2021-04-23 19:58:23
【问题描述】:
我有一些图像要重命名和排序,但是当我重命名它们时,它们的重命名顺序不同。我得到了我想要的输出,但它们不是从原始中排序的。我真正要问的是如何匹配和替换下面的示例。
Code is current output:
image_1_0.jpg -> 6.jpg
image_1_1.jpg -> 4.jpg
Code output wanted:
image_1_0.jpg -> 1.jpg
image_1_1.jpg -> 2.jpg
图片文件夹
image_1_0.jpg
image_1_1.jpg
image_2_0.jpg
image_2_1.jpg
image_3_1.jpg
image_3_2.jpg
image_3_3.jpg
image_4_0.jpg
image_5_0.jpg
输出将是
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg
7.jpg
8.jpg
9.jpg
这就是我所拥有的
#! /usr/bin/perl
use warnings;
use strict;
my $file;
my @imagesFile;
my $counter = 0;
my $dir = 'usr/local/bin/images';
opendir (IMGDIR, "$dir") or die "Cannot open directory: $!";
@imagesFile = (readdir(IMGDIR));
closedir IMGDIR;
foreach my $file(@imagesFile){
$counter++;
rename "$dir/$file", "$dir/$counter.jpg";
}
可以在这个问题上使用一些见解。
【问题讨论】:
-
我真正要问的是如何匹配和替换 image_1_0.jpg 为 1.jpg 等