আপনার কম্পিউটার থেকে সদৃশ ইমেজ ফাইলগুলি সরানোর সর্বোত্তম পদ্ধতি কী?


14

আমার উইন্ডোজ কম্পিউটারে বিভিন্ন সাবফোল্ডারে এবং বিভিন্ন ফাইলের নাম সহ প্রচুর নকল চিত্র ফাইল রয়েছে।

অনুলিপিগুলি অপসারণ করার জন্য আপনি পাইথন স্ক্রিপ্ট বা ফ্রিওয়্যার প্রোগ্রামটি কী প্রস্তাব করবেন?

(আমি এই একই প্রশ্নটি পড়েছি , তবে সেখানে পোস্টারটি বিভিন্ন ফাইল আকারের ভিজ্যুয়াল সদৃশগুলি সম্পর্কে জিজ্ঞাসা করছে Mine আমার বিভিন্ন ফাইলের নামের সাথে সঠিক নকল))


2
মনে রাখবেন যে সমস্ত পিক্সেল একই থাকলেও তাদের কাছে এখনও বিভিন্ন এক্সআইএফ তথ্য থাকতে পারে (কিছু পর্যায়ে চিত্রগুলি পরিচালনা করে এমন প্রোগ্রামগুলির মাধ্যমে সংশোধিত) যা বর্তমানে প্রস্তাবিত সমাধানগুলির সাথে সমস্যা তৈরি করবে।
ব্যবহারকারী 12889

উত্তর:


17

এমডি 5 অঙ্কের উপর নির্ভর করবেন না।

এমডি 5 এর অঙ্কগুলি সদৃশগুলি যাচাই করার জন্য একটি নির্ভরযোগ্য উপায় নয়, এটি কেবলমাত্র পার্থক্যগুলি যাচাই করার উপায়।

ব্যবহারের MD5s এটি সম্ভব প্রার্থী একটি MD5 ভাগ প্রতিটি জোড়া জন্য সদৃশ, এবং তারপর

  1. দুটি ফাইলই খোলে
  2. একটি পৃথক না হওয়া অবধি এই ফাইলগুলিতে এগিয়ে থাকা চাই।

নকল পরিচয় দায়ের করার জন্য ভ্রান্ত দৃষ্টিভঙ্গি করা লোকেদের দ্বারা আমি তুচ্ছ হয়ে উঠছি তা দেখে, যদি আপনি ধার্মিকতার জন্য পুরোপুরি একটি হ্যাশ অ্যালগরিদমের উপর নির্ভর করতে চলেছেন তবে SHA256 বা SHA512 এর মতো শক্ত কিছু ব্যবহার করুন, অন্তত আপনি সম্ভাবনা হ্রাস করবেন আরও বিট পরীক্ষা করে একটি যুক্তিসঙ্গত ডিগ্রি। সংঘর্ষের শর্তের জন্য MD5 অতিমাত্রায় দুর্বল।

আমি এখানে ফাইল ফাইল চেক শিরোনামে মেলিং তালিকা পড়তে লোকদেরও পরামর্শ দিই: http://london.pm.org/pipermail/london.pm/Week-of- Mon-20080714 / thread.html

আপনি যদি বলেন "MD5 সমস্ত ফাইলকে স্বতন্ত্রভাবে সনাক্ত করতে পারে" তবে আপনার একটি যুক্তি ত্রুটি রয়েছে।

মূল্যবোধের পরিসীমা, দৈর্ঘ্য 40,000 বাইট থেকে দৈর্ঘ্য 100.000.000.000 বাইট দেওয়া নানারকম লেন্থ এর, যে পরিসর উপলব্ধ সমন্বয় মোট সংখ্যা ব্যাপকভাবে MD5 দ্বারা প্রতিনিধিত্ব মূল্যবোধের সম্ভব নম্বর, দৈর্ঘ্য একটি নিছক 128 বিট এ ওজনের ছাড়িয়ে গেছে।

মাত্র 2 ^ 128 সংমিশ্রণের সাথে 2 ^ 100,000,000,000 সংমিশ্রণগুলি উপস্থাপন করবেন? আমি সম্ভবত এটি মনে করি না।

সবচেয়ে কম উপায় ï

নকলকে ছাঁটাই করার সর্বনিম্ন নির্বিঘ্নতম উপায় এবং দ্রুততম উপায় follows

  1. আকার অনুসারে : বিভিন্ন আকারের ফাইলগুলি অভিন্ন হতে পারে না। এটি খুব কম সময় নেয় কারণ এটি এমনকি ফাইলটি খুলতে হবে না।
  2. এমডি 5 দ্বারা : বিভিন্ন এমডি 5 / শা মান সহ ফাইলগুলি অভিন্ন হতে পারে না। এটি একটু বেশি সময় নেয় কারণ ফাইলের সমস্ত বাইটগুলি পড়তে হবে এবং সেগুলিতে গণিত করতে হবে তবে এটি একাধিক তুলনা আরও দ্রুত করে।
  3. উপরের পার্থক্যগুলি ব্যর্থ : ফাইলগুলির বাই বাই বাই তুলনা করুন। এটি কার্যকর করার জন্য একটি ধীরগতির পরীক্ষা, এ কারণেই অন্যান্য সমস্ত নির্মূল কারণ বিবেচনা না করা পর্যন্ত এটি রেখে দেওয়া হয়।

Fdupes এটি করে। এবং আপনার একই সফ্টওয়্যার ব্যবহার করা উচিত যা একই মানদণ্ড ব্যবহার করে।


7
আক্ষরিক অর্থেই সম্ভবত আপনার হার্ড ড্রাইভটি কোনও চিত্রকে যাদুকরীভাবে ধ্বংস করবে, এটি MD5 এর সাথে সংঘর্ষের চেয়ে বেশি। "মাত্র 2 ^ 128 টি সংমিশ্রণ সহ 2 ^ 100,000,000,000 সংমিশ্রণের প্রতিনিধিত্ব করুন" - আমি এখানে আপনার সাথে একমত agree যদি তার 2 ^ 100,000,000,000 ছবি থাকে তবে MD5 (বা প্রায় কোনও হ্যাশ অ্যালগরিদম) খারাপ হবে।
গ্রেগ ডিন

4
নেই কোন গ্যারান্টি তার শুধু অসম্ভাব্য । তার না অসম্ভব। একে অপরের সাথে সংঘর্ষ হওয়া 10 টি ফাইল থাকা একেবারেই সম্ভব, তবে সমস্ত সম্পূর্ণ আলাদা। এটি অসম্ভব, তবে এটি ঘটতে পারে, সুতরাং আপনার অবশ্যই এটি পরীক্ষা করা উচিত।
কেন্ট ফ্রেড্রিক

2
ফাইলের আকার, তারপরে MD5, এবং কেবলমাত্র বাইট চেকের জন্য বাইট।
ব্র্যাড গিলবার্ট

3
@ কেন্ট - আমি আপনার সাথে 100% সম্মত কোনও কিছুর প্রতি অবজ্ঞা করা অলসতা কারণ এটি আমাদের পক্ষে কথা বলার মতো অসম্ভব, এমনকি অসম্ভব। যদি আমার কিছু ডেটা ধ্বংস হয়ে যায় তবে প্রোগ্রামটি লিখেছেন এমন ব্যক্তিকে ছেড়ে দিয়ে যদি আমি ভেবেছিলাম যে কোনও কিছু কোডিংয়ের পক্ষে বিরক্ত হওয়ার পক্ষে খুব কম সম্ভাবনা রয়েছে।
জো টেলর

10

এটি ইউনিক্সের মতো (লিনাক্স সহ) ওএসস বা উইন্ডোজের সাথে সাইগউইন ইনস্টল করা রয়েছে:

find . -type f -print0 | xargs -0 shasum | sort |
  perl -ne '$sig=substr($_, 0, 40); $file=substr($_, 42); \
    unlink $file if $sig eq $prev; $prev = $sig'

এমডি 5সাম (যা প্রায় 50% দ্রুত) ব্যবহার করা যেতে পারে যদি আপনি জানেন যে ইচ্ছাকৃতভাবে তৈরি হওয়া কোনও সংঘর্ষ নেই (তবে প্রাকৃতিকভাবে এমডি 5 সংঘর্ষের সন্ধানের চেয়ে 10 টি বড় লটারি জিতার আপনার পক্ষে আরও ভাল সুযোগ আছে))

আপনি যদি মুছে ফেলার পরিবর্তে আপনার সমস্ত ডুপ দেখতে চান তবে কেবল সেই unlink $fileঅংশটি পরিবর্তন করুন print $file, "\n"


1
স্পেসগুলি ধরার জন্য আপনি -প্রিন্ট 0 এবং xargs-0 ব্যবহার করতে পারেন, তবে এটির জন্য এখানে একটি কার্যকর বিকল্প রয়েছে যা সন্ধান করুন: সন্ধান করুন। -প্রকার চ-এক্সেক শসুম {} \; | বাছাই করুন ... এছাড়াও: আপনার @F (-a) ব্যবহার করা উচিত নয় কারণ এটি স্পেসগুলির সাথে কাজ করে না। পরিবর্তে সাবস্ট্রার চেষ্টা করুন।

শুভ কল, জিওকার। আপনার পরামর্শ সহ উত্তর আপডেট করুন।

"এমডি 5সাম (যা প্রায় 50% দ্রুত) ব্যবহার করা যেতে পারে যদি আপনি জানেন যে ইচ্ছাকৃতভাবে কোনও সংঘর্ষ নেই" - ঠিক
গ্রেগ ডিন

6

আমি ইউনিক্স সিস্টেমে ( fdupesসি freedupsতে লিখিত) এবং (পার্ল) ব্যবহার করেছি এবং তারা উইন্ডোতেও কাজ করতে পারে; এছাড়াও আছে অনুরূপ যে Windows এ কাজ দাবি করা হয়: dupmerge, liten(পাইথন এ লেখা), ইত্যাদি


পার্ল এবং পাইথন সফ্টওয়্যারটির উইন্ডোজ এবং * নিক্স সিস্টেমে অভিন্নভাবে কাজ করা উচিত, ধরে নিলে ফাইল সিস্টেমের বিশদটি বিবেচ্য নয়।
কার্লএফ

2

উইন্ডোজে সদৃশ চিত্রগুলি সরাতে ডুপ্লিফাইন্ডারটি একবার দেখুন এটি চিত্র, নাম, আকার এবং প্রকৃত চিত্রের তথ্যের মতো বিভিন্ন মানদণ্ডের সাথে তুলনা করতে পারে।

অনুলিপি ফাইলগুলি অপসারণের জন্য অন্যান্য সরঞ্জামগুলির জন্য এই লাইফহ্যাকার নিবন্ধটি একবার দেখুন।


1

ডুপ্লিফিন্ডারের পরিবর্তে, কাঁটাচামড়া প্রকল্পটি চেষ্টা করুন, ডেডরঞ্জার । আমরা আসল প্রকল্পে এক টন বাগ ঠিক করেছি, একগুচ্ছ নতুন বৈশিষ্ট্য যুক্ত করেছি এবং নাটকীয়ভাবে পারফরম্যান্সে উন্নতি করেছি।


1

একটি বিকল্প ডুপকিলার হতে পারে ।

আপনার কম্পিউটারে সদৃশ বা অনুরূপ ফাইলগুলি সন্ধান এবং অপসারণের জন্য ডুপকিলার অন্যতম দ্রুত এবং সবচেয়ে কার্যকর সরঞ্জাম powerful জটিল অনুসন্ধান অ্যালগরিদমগুলি, এটির অনুসন্ধান পদ্ধতিতে নির্মিত উচ্চ ফলাফল সম্পাদন করে - দ্রুত ফাইল অনুসন্ধান search অনেকগুলি বিকল্প অনুসন্ধানকে নমনীয়ভাবে কাস্টমাইজ করতে দেয়।

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.