MACからubuntuにzipファイルをアップロードした。そのzipファイルをubuntu上で、unzipしたところ、
__MACOSというフォルダが作成された。そして、そのディレクトリ配下に、ファイルがあるのだが、なぜか、ファイル名のあたまに、”._”が付与され、「._ファイル名」というファイル名になっていた。
アップロードしたファイル名は、合計で、200近くあったので、mvコマンドで一つ一つファイル名を直すのは面倒と思い、久しぶりにperlのスクリプトをかくことにした。以下内容をメモ。
目標は、”._aaaa”となっているファイル名を”aaaa”のファイル名に置換
コードは以下のとおり、ディレクトリと、ファイルのglobのマッチの書き方は自分の環境にあわせて修正が必要。
#!/usr/bin/perl use strict; use warnings; my $dir = "/***/***/"; #(ファイル名を変更したいファイルのあるディレクトリを指定) chdir $dir or die "失敗* $!"; my @all_files = glob "._*"; #今回は._からはじめるファイル名を変更したいので、globのファイルマッチを上記の通り記載。 my $item; foreach $item (@all_files){ my $oldfile = $item; $item =~ s/\._//g; my $newfile = $item; rename ($oldfile,$newfile); }
ファイル名はhenko.plとして、後はシェルで、以下を叩けば完了。
$perl henko.pl