[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 05/10 00:47 / Filesize : 34 KB / Number-of Response : 146
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ファイルの重複検出ツールを作ろうぜ



1 名前:デフォルトの名無しさん [2007/10/18(木) 17:20:10 ]
CD、DVD、HDDなどのファイルハッシュを計算しておきデータベースを作成して照合する
初めに64KB程度読み込んでハッシュを計算して、それが一致したら1MB程度ぶんずつ照合していく
ハッシュの計算方法は高速で、異なるファイルは異なる値を出すようにしたい
いちどブロックソーティングするといいとおもう

83 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 17:46:22 ]
てか、そもそも何故DBを使うの?
重複検出を一回やるだけなら全部オンメモリで処理しても足りると思うんだけど。

後で別の重複検出をやるときにDBに入れたデータを再利用するってことなのかな?
そうそう再利用できるケースがあるとも思えないけど…そんな同じファイルを何回もHDD上に生成したりするものだろうか?

ファイルのハッシュ値と詳細を記録するとかだったらまだわかるんだが。

84 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 17:47:41 ]
DVDとCDは書き換え不能とし、それだけデータベース化するなら簡単だけどね。

85 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 17:50:14 ]
>>83
おもな利用方法はCD、DVDとの比較と思います。データベース導入ならHDDもしないと不自然だなと思うわけです。

86 名前:デフォルトの名無しさん [2008/05/03(土) 08:42:33 ]
UNDUPを超えるソフト作ってシェアウェアにすると幾らくらい売れますか?
500円として100個は売れますか?

87 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 08:48:34 ]
UNDUPで十分なので売れません

88 名前:デフォルトの名無しさん [2008/05/03(土) 09:01:50 ]
UNICODEや長いファイル名に対応していなくて、落ちやすいバグがありますよ
あとデータベース機能機能もつけて、UNDUPの速度を半分以下にしたら幾らくらいですか?

89 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 09:07:28 ]
シェアウェアにするなら最低でも1000円にしておけ。
500円でも1000円でも売り上げ本数は変わらんだろう。売れるかどうかは別問題だが。

90 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 09:24:44 ]
速度を半分以下にするのか。遅いな。

91 名前:デフォルトの名無しさん [2008/05/03(土) 09:30:02 ]
シェアウェアで小ヒットするといくら位なんですか? 



92 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 11:35:23 ]
あー、昔作ったことあったわ

93 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 14:35:46 ]
シェアウェアにするほどの価値はあるのか?
どうでもいいのに金払うのが面倒だろ

94 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 17:50:17 ]
優秀な最大公約数的なソフトがフリーであるのに、
わざわざ得体の知れないシェアを使おうとは思わないな。

それに使うとしても月に一回ぐらいだろ?

95 名前:デフォルトの名無しさん [2008/05/03(土) 18:49:16 ]
UNDUP (600円) に対抗して、使用制限無しで500円の販売したらいくつ位売れるのかと
思ったんです。大して売れなくても良いんですけど、
UNDUPを完全に上回ったとしたらどの位かなとおもったんです。

96 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:30:51 ]
自分でそういうソフトを選ぶ基準から考えてみろ。
UNDUPがあるんだし、他の、しかもシェアウェアを
わざわざ選ぶ理由なんてあるか?ゼロだろ。
買われるとしたら、検索もできないネット覚えたての
情報弱者がたまたま最初にみつけて、間違えて買うぐらいだな。
今時小学生でもありえないが。
UNDUP程度なら誰でも作れるんだし、ここでぐだぐだ
売れるかどうか、なんて書いてる奴のソフト、しかも
猿真似のシェアウェアが売れると思うか?
この程度のソフトなんて作っても金にならんぞ。
オクで転売でも始めた方が儲かるんじゃないか?

97 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 11:28:30 ]
完全フリーにして名前売った方が後々儲かるかも。

98 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 17:29:09 ]
空気読まずに書くよ

全ファイルのMD5とかSHAハッシュ取ってsortコマンド使えばええやん
殆ど重複はしないでしょ

でかいファイルは4MBくらいで読むの止めて、サイズ一緒に出力しておけばいいし

99 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 19:56:15 ]
>>98
小学生は大人になってから来てね

100 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 00:25:58 ]
データの比較方法はわからんが>>1が言うのはこういうのか?
ttp://www.vector.co.jp/soft/win95/util/se373076.html

101 名前:デフォルトの名無しさん mailto:age [2008/05/25(日) 22:20:27 ]
容貌

画像MD5比較で条件付削除ができるようにして



102 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 23:09:45 ]
>>101
どんな面しているんだか。

103 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 00:01:49 ]
どういう意味かと思ったら、容貌から来てるのね。

104 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 09:02:17 ]
今から作るなら画像/音声/動画の類似性をチェックするぐらいの意気込みでお願いしたい。

105 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 12:49:02 ]
こんなんで用が足りてますが何か

find /hoge -type f | xargs cksum | perl ckchk.pl | sh

#!/usr/bin/perl
while(<>) {
chomp;
if (m/^(\d+ \d+) (\S+)$/) {
if (defined($filename{$1})) {
printf("diff -q '%s\' '%s\' && rm '%s\'\n", $filename{$1}, $2, $2);
next;
}
else {
$filename{$1} = $2;
}
}
}


106 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 19:07:30 ]
sage

107 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 06:34:19 ]
UNDUPおせえw
Win32API使ってる時点でこれが限界か

しかし>>1の着眼点面白すぎだな
2^24個のファイルってMFTが16Gになるぞ
その上ファイルサイズは4G制限かw
てかたった1年前の話なのにCRC16とか出ててフイタw
5年位前のカキコかと思ったわ

108 名前:デフォルトの名無しさん [2009/01/06(火) 09:05:41 ]
ほしゅ

109 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 15:18:16 ]
ハッシュとファイル名をペアにしたキャッシュは取ってんの?
大方>>1の見え透いた用途では、古いファイルが変更される事は
少ないんじゃないか?だったら

キャッシュ.txt:
最終更新年月日
MD5等ハッシュ ファイルパス
MD5等ハッシュ ファイルパス
MD5等ハッシュ ファイルパス
        ・
        ・
        ・

とファイルをフォルダごとに作っておいて、比較対象は最終更新年月日より
タイムスタンプが新しいものに限ると。これだけで>>1の様な用途なら十分
高速に使えると思うぞ。

110 名前:デフォルトの名無しさん [2009/01/06(火) 16:56:49 ]
見え透かせるって事は同類か

111 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:56:44 ]
ttp://www.vector.co.jp/soft/winnt/util/se454495.html
これはどう?



112 名前:デフォルトの名無しさん [2009/01/10(土) 03:04:16 ]
複数のDVDにバックアップしたデータをまとめてブルーレイに焼きたいのです
でもかぶってるファイルが多数あるのでそれらをまとめてから焼きたいのですが
どうすればいいですか?


113 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 03:16:16 ]
板違い

114 名前:デフォルトの名無しさん [2009/01/10(土) 23:24:31 ]
>>113
ファイルの重複検出ツールのスレですよね?

115 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 23:33:18 ]
>>114
で、お前はどういう方針でツールを作ろうとしてるの?

116 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 01:31:35 ]
ってか、システムにファイルを通す際に必ず同じプロセスを通過するようにすればいいんじゃないかなあ。

ファイルコピー→<ファイルチェックプロセス>→ディスク
って感じで。
ファイルサイズとかハッシュが同じファイルを通そうとしたら弾くとか。

117 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 04:22:32 ]
>>116
馬鹿発見

118 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 11:05:58 ]
>>114
重複検出ツールを「作ろう」ってスレだろ、JK

119 名前:デフォルトの名無しさん [2009/01/12(月) 10:11:42 ]
>>118
その成果だけ頂きたいのです、女子高

120 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 10:53:45 ]
そういうやつはこっちだ
pc11.2ch.net/test/read.cgi/software/1145546190/


121 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 15:44:22 ]
>>119
未成熟ぎみなのがいいんです、JC



122 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 13:42:17 ]
数十万個のファイルの中から指定のファイルとほぼ同じ内容のファイルを高速に検索する
方法はないでしょか?

完全一致のファイルならファイル名と MD5 のデータベースを作っておけばファイル数に
関係ない時間で検索できるのですが。

123 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 14:25:20 ]
>>122
ある通信プロトコルでの相手を決定するための方法だけど、
その数十万個分のファイルに対応するオブジェクトを作る。
指定のファイルのオブジェクトのビット(特徴)を、1こずつそれらに送る。
同じビット(特徴が一致した)なら応答を返す。
応答が最も多かったファイルを「ほぼ同じ内容」と判断する。
ようするに、比較をインクリメンタルにやるという話。
ハードウェアでの通信だと一瞬で判定できる。
それをソフトウェアでやると個数分の時間が掛かる。
まあ総当りするよりは速い。

124 名前:デフォルトの名無しさん [2009/01/14(水) 14:31:22 ]
ファイルの一部のMD5つくれば? とる位置を3カ所くらいにして、それが一つでも一致すれば疑わしいとする。
あとは人間が確認する。

125 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 14:35:59 ]
どうせ、画像ファイルだろ。MD5を作るんじゃなくて、サムネイル画像作ってそいつで比較したら?w

126 名前:デフォルトの名無しさん [2009/01/14(水) 14:39:27 ]
画像なら、画像の特徴を比較する必要有り。部分md5では無理

127 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 17:40:08 ]
サムネイルもインデックスみたいなもんだな

128 名前:デフォルトの名無しさん [2009/01/14(水) 22:02:32 ]
最近のコンピュータは高速だからファイルの先頭から1ビットずつ比較しようぜ

129 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 22:04:27 ]
指紋認証のやり方で特徴点抽出

130 名前:122 mailto:sage [2009/01/15(木) 14:04:06 ]
122 ですが、ファイルは主にプログラムのソースコードです。

現在使っている MD5 以外の検索方法は
ベースファイル名が一致しファイルサイズが近いものを DB から抽出し、
ファイルの最初の 128KB のバイナリ差分が小さいものに絞り込み、最後に
ファイル全体のバイナリ差分が小さいもの選んでいます。

この方法でそこそこの時間で検索できますが、大幅な絞り込みのために
ファイル名を使っているのでファイル名が全然違うファイルは検索対象に
ならないので困っています。


131 名前:デフォルトの名無しさん [2009/01/15(木) 14:27:57 ]
先頭32K(違いが出なかった場合は32K-64K、64-96Kなど)
のMD5を保持しておけよ。



132 名前:デフォルトの名無しさん [2009/01/15(木) 14:48:45 ]
ハッシュじゃ類似判定できないだろ

133 名前:デフォルトの名無しさん [2009/01/15(木) 15:00:17 ]
ベクトル空間法 類似
でぐぐれ

134 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 15:09:56 ]
>>130
ソースコードならクラス、メソッド名だけ抽出して比較すりゃ終わりじゃね?
もっと確度上げたいなら変数名も追加

135 名前:デフォルトの名無しさん [2009/01/15(木) 15:24:00 ]
バージョン違いのさはどうするんだ

136 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:07:03 ]
調子のんなよカス

137 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:12:13 ]
>>135
お前の恥ずかしさに免じて何も指摘しないでやる

138 名前:デフォルトの名無しさん [2009/01/15(木) 19:27:30 ]
クラス名などが一致しても、コードの中身がバージョンのズレにより
大きく代わることがあるだろ。

139 名前:デフォルトの名無しさん [2009/01/15(木) 19:28:19 ]
初めから書き直したりした場合だ。

140 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:35:05 ]
>>138
お前なぁ、自分で墓穴掘ってちゃ世話無いだろうが
もう分かったから、そのまま墓穴に埋まっててくれ

141 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 12:21:29 ]
Mr.Driller 好きだぜ



142 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 12:27:17 ]
ゆ○ぽのことか?

143 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 07:35:52 ]
中に特定の文字列がある穴を探して埋まっておけばいいんじゃね

ソースコードだったら大体同じようなクラス名や関数名で書いてるだろ
分かりにくいコード書いてるやつがいたら穴掘って埋めればおk

144 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 10:40:44 ]
undupとかの重複ファイル検索ソフトの比較スレがあったと思ったんですが、見つかりません。
どなたかご存じないですか?

145 名前:デフォルトの名無しさん [2009/01/19(月) 11:21:29 ]
お勧めの重複・類似・近似画像処理ソフト2
pc11.2ch.net/test/read.cgi/software/1145546190/






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<34KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef