MACからubuntuにzipファイルをアップロードした。そのzipファイルをubuntu上で、unzipしたところ、
__MACOSというフォルダが作成された。そして、そのディレクトリ配下に、ファイルがあるのだが、なぜか、ファイル名のあたまに、”._”が付与され、「._ファイル名」というファイル名になっていた。
アップロードしたファイル名は、合計で、200近くあったので、mvコマンドで一つ一つファイル名を直すのは面倒と思い、久しぶりにperlのスクリプトをかくことにした。以下内容をメモ。
目標は、”._aaaa”となっているファイル名を”aaaa”のファイル名に置換
コードは以下のとおり、ディレクトリと、ファイルのglobのマッチの書き方は自分の環境にあわせて修正が必要。
[perl]
#!/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);
}
[/perl]
ファイル名はhenko.plとして、後はシェルで、以下を叩けば完了。
[bash]
$perl henko.pl
[/bash]
Leave a Reply