■掲示板に戻る■ 全部 1- 最新50

シェル、オークの質問コーナー

1 :はろう :01/09/12 23:02
ない!!のでつくりました

56 :名無しさん@お腹いっぱい。 :01/10/01 22:36
>>54
find . -ls | awk '{ path=$NF ; gsub(".*/", "", $NF); print $7"-"$NF" "path}' | sort | awk 'BEGIN{ name=""} { if ( name == $1 ) { print $2 } else { name = $1} }' | xargs rm

なんつーか力業くさいが。当然テストもしてないぞ?
あ、もちろん妙なファイル名使う子は使っちゃいけないぞ

57 :名無しさん@お腹いっぱい。 :01/10/01 22:37
>>55

ハード/シンボリックリンクのことですね。
それは知ってる(と思う)

複数の美術館からもらってきた美術画像に同じものが
大量に含まれているんですよ。

58 :55 :01/10/01 22:44
>>57
そっか。ごめんね。鬱死。

59 :名無しさん@お腹いっぱい。 :01/10/01 22:53
>>56

なるほど.... find -lsで"バイト数-名前 ディレクトリつきの名前" という形
にしてソートして抽出するわけですね。変なファイル名もはいっているので
(オレが作ったわけじゃないから)、自分でももうちょっと考えてみます。

しかしよく考えたら数万行ソートしなきゃならんのだな。

60 :名無しさん@お腹いっぱい。 :01/10/01 23:06
>>59
> しかしよく考えたら数万行ソートしなきゃならんのだな。
ソート(そーっと)やって下さい。(オヤヂギャグ)

61 :59 :01/10/01 23:12
11万行ぐらいあるけど、
今の機械ではこれくらい一瞬ですね。

変な名前のファイルはあらかじめ排除しておくことにしたけど、
大文字小文字の問題があることを発見したのでもうちょっと検査中。

参考になりました。ども。

62 :名無しさん@お腹いっぱい。 :01/10/02 05:15
>>57
キャッツアイ?

63 :59 :01/10/07 17:20
その後、ファイル名とサイズがいっしょってだけでは
まだまだ重複があることに気づき、

find -type f -exec md5 -r {} \;
してリストをつくり、
#! /usr/bin/perl
while(<>) {
($md5, $filename) = /^([0-9a-z]+) (.*)$/;
if ($md5 =~ $prev_md5) {
print "$prev_filename\n$filename\n";
}
$prev_md5 = $md5; $prev_filename = $filename;
}
ってなフィルタを通して
MD5がいっしょのファイルを抽出することにしました。

ばかみたい。

64 :名無しさん@お腹いっぱい。 :01/10/07 17:30
どっかで見た記憶が... と思って freshmeat で "duplicate"
で検索すると、そのものズバリのソフトが結構出て来たぞ。

65 :名無しさん@お腹いっぱい。 :01/10/07 17:36
多くは書かないたった一行。

66 :名無しさん@お腹いっぱい。 :01/10/07 18:20
>>65
うまい!座布団3枚!

67 :59 :01/10/07 19:03
>>65
やっぱり rm -rf * ってこと?

68 :かりんと :01/10/07 21:16
お祝いに美術画像おくれ。


新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver5.26+ (01/10/21-)