ファイル名の変更
ファイル名の変更 久しぶりに技術的なことをアップした。 薬の副作用か、集中力が無くなってプログラミングも途中でやる気が失せてしまう事があったが、今回は短文のためになんとか書くことが出来ホットしている。 さて 先日作成したソフトで、20,000件に及ぶファイル名を変更する必要が生じたので、perlスクリプトで変更してみた。 ミソは、ディレクトリ内でUNIXコマンドにて ls -alv を行ってファイル名の一覧を取得する事と、split関数で_で区切られたファイル名を取得することです。 最近Perlも組んでなかったので心配でしたが約10分でチョチョイと書き上げた。 まだ、脳軟化してないようで安心。 と、いう訳で、脳軟化したときの為にスクリプトを掲載 #----------------------------------ここから #! user/bin/perl -w # # リネイムするスクリプトです # # 同じ階層にパールソースを入れておきます # perl cyomeとする my $dir = "rename/"; #同じ階層にrenemaeというホルダーに保存する my $direxp="*.ai"; #拡張子は.aiのものを対象 my @flist = split(/\s/,`ls -v *.ai`); #ファイル名を得る foreach my $fn (@flist){ #ファイル数 my $re_fname = ((split("_",$fn))[2]); #_で区切られたファイル `cp $fn $dir$re_fname`; #コピーする } #-------------------- ただこれだけで 123nn_ccc_aaa.aiというファイル名をaaa.aiに変更します。 感謝の心を込めて・・・ 伊東祐三(山梨県 樋口印刷内)