CodingFirst

C言語、Perl、JavaScript、最近はPythonも。出来上がったものより、プログラムを書くことが好き。あと、スイーツ。

スポンサーサイト

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

perlで重複してない画像を探す

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2

年末なのでパソコン内ファイルの大掃除。画像を保存してたディレクトリが、以前のと現在ので2つあって、以前のフォルダを消そうかと思ったけど、いやまて、以前のフォルダにだけある画像ってのがあるのか?と思って探してみた。

$ find /path/to/prev-pics -name "*.*" > prev.txt
$ find /path/to/cur-pics -name "*.*" > cur.txt

これで過去、現在の画像ファイルの一覧がとれた。prev.txtにだけある画像をperlで探る。拡張子が大文字になってたりするので *.jpg にはしなかった。

[cmpl.pl]
#!/usr/bin/env perl
my $oname = shift;
my $cname = shift;
open my $ofh, "<$oname";
my %org;
while (<$ofh>){
    chomp;
    my ($f) = map{ /.*\/(.*)$/ } ($_);
    $org{$f} = $_ if(!$org{$f});
}
open my $cfh, "<$cname";
while (<$cfh>){
    chomp;
    my ($f) = map{ /.*\/(.*)$/ } ($_);
    print "mv $_ ./\n" if (!$org{$f});
}
$ perl cmpl.pl cur.txt prev.txt > prevonly.txt

これで prevonly.txt に以前のフォルダにだけあるファイルのパス一覧がとれた。エディタでざざっと見て不要な行は削除して、

$ . prevonly.txt

としてカレントフォルダにファイルを移動してきた。

結果、ほとんど要らなかったけど、これは残しとこうというファイルがいくつか見つかった!


«  | HOME |  »

Search

Recent Entries

Foot Print



Categories

Monthly

Recent Comments

Recent Trackbacks

Profile

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。