- ベストアンサー
あるディレクトリのファイルの名前を「更新日時」にしたいのですが・・
(1) あるディレクトリの中の全てのファイルについて (2) 例えば 2007/1/2 3:45 に作成したファイル aaa.dat のファイル名を 2007-01-02-0345-aaa.dat 方法はないでしょうか?perl でも bash でも良いのですが・・ (ちょっと事情があってあせっています・・) よろしくお願いします!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#!/bin/bash targetdir=$1 for f in $targetdir/* do mv $f $targetdir/`date +%Y-%m-%d-%H%M`-`basename $f` done 引数にターゲットのディレクトリを指定して実行。
その他の回答 (1)
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.1
use strict; use warnings; use POSIX qw(strftime); foreach my $fname (glob '*') { my $newname = strftime "%Y-%m-%d-%H-%M-%S-$fname", localtime((stat $fname)[9]); print $newname, "\n"; } 手抜きで実行したディレクトリのファイルしか扱えません。 適当にいじってください。
質問者
お礼
お返事遅れて済みません。 ありがとうございます!
お礼
お返事遅れて済みません。 ありがとうございます!