Как переименовать файлы, содержащие числа с плавающей точкой, в непрерывное число - PullRequest
0 голосов
/ 07 января 2011

Я застрял здесь. Пожалуйста, помогите.

У меня есть большое количество файлов, названных так:

plot_[0-9]*\.?[0-9]+\.png

е. г. plot_.0012.png или plot_1.12.png.

Есть ли способ переименовать его в plot_{5 digits}.png, например plot_00012.png и plot_11200.png?

Любая помощь будет очень полезна!

Привет, Юрген

1 Ответ

0 голосов
/ 07 января 2011

Вот способ сделать это в Perl:

#!/usr/bin/perl
use strict;
use warnings;
use 5.10.1;
use Data::Dumper;

while(<DATA>) {
    chomp;
    print "$_ --> ";
    s/^(plot_)(\d*)\.?(\d+)(\.png)$/$1 . '0'x(6-length("$2+$3")) . $2 . $3 . $4/e;
    say;
}

__DATA__
plot_.0012.png
plot_1.12.png
plot_12.023.png
plot_1.png

Вывод:

plot_.0012.png --> plot_00012.png
plot_1.12.png --> plot_00112.png
plot_12.023.png --> plot_12023.png
plot_1.png --> plot_00001.png
...