#! /usr/local/bin/perl ## ## 諸般の事情で一連のファイルのファイル名がメチャクチャなときに、 ## ファイルを保存した時刻情報にもとづいてファイル群の rename をする‥ ## ための sh scripr を生成。 ## use File::stat; print '#!/bin/sh' . "\n"; foreach $fno ( @ARGV ) { # $fno = $_; if(! -f $fno) { next; } local($fno_suf); if($fno =~ /\.([^\.]+)$/) { $fno_suf = $&; } local($sb) = stat($fno); local(@f) = localtime $sb->mtime; local($fnn) = sprintf("img-%02d%02d%02d-%02d%02d%02d-%02x%s", $f[5]%100, $f[4]+1,$f[3],$f[2], $f[1], $f[0], $sb->ino%0x100, $fno_suf); print "mv \'${fno}\' $fnn\n"; } exit;