2011-01-07 12 views
0

私はここでかなり悩んでいます。助けてください。浮動小数点数を含むファイルの名前を連続番号に変更する方法

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

E:

は、私はそのような名前のファイルの大きな数を、持っています。 g。 plot_.0012.pngまたは plot_1.12.png

plot_11200.pngのようにplot_{5 digits}.pngに名前を変更する方法はありますか?

どのようなヘルプが本当に素晴らしいでしょう!ここで

挨拶、ユルゲン・

+0

WindowsまたはLinux? – Amirshk

+1

正規表現が必要な場合は、どのプログラミング言語ですか? – Gerrat

+0

ドットの前に複数の数字があってもかまいませんが、それが "5桁"ルールにどのように影響しますか?ドットの前に数字がない場合は、代わりに「0」を代入するのが正しいのでしょうか?そして、結果の数字が右側で5桁にゼロパディングされていることも正しいのでしょうか(つまり、 '1.12'は' 11200'になりますが、 '.0012'は' 00012'になります)? –

答えて

0

は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 
関連する問題