Fdupes দিয়ে নকল ফাইলগুলি কীভাবে মুছবেন?


15

আমি যখন চালনা fdupesকরি তখন এটি ৩০,০০০ এরও বেশি সদৃশ ফাইল খুঁজে পায়। আমার একটি ফাইল রাখতে হবে এবং অন্য সমস্ত নকল মুছে ফেলতে হবে (কারণ তাদের কয়েকটি সিস্টেম ফাইল রয়েছে)। অনুগ্রহ করে প্রতি গ্রুপ নকল ফাইলের জন্য "1 বা 2 বা সমস্ত" টিপুন না করে দয়া করে আমাকে এটি করার জন্য একটি আদেশ বা স্ক্রিপ্ট দিন।

উত্তর:


23

আপনি যদি নিঃশব্দে এটি চালাতে চান তবে আপনি এটি করতে পারেন (র‌্যাকস্পেস ব্লক স্টোরেজটিতে চলমান 150 গিগাবাইট দ্বিফ সাফ করার জন্য আমি এটি ব্যবহার করেছি .. £ কারচিং !!)

fdupes -rdN dir/

r - recursive
d - preserver first file, delete other dupes
N - run silently (no prompt)

এমন কোনও বিকল্প নেই যা ডুপগুলি মোছার পরিবর্তে ট্র্যাশে চলে যাবে?
অগস্টিন রিডিংগার

2
করেছেনfor f in $(fdupes -f .); do gvfs-trash $f; done
অগাস্টিন রিডিংগার

2
@ অগাস্টিনরিডঞ্জার: fdupes -f . | xargs -rd '\n' -- gvfs-trashআপনার কাছে স্পেস এবং বিশেষ অক্ষর বা অনেকগুলি ফাইল সহ ফাইলের নাম থাকলে আরও ভাল ।
ডেভিড ফোরস্টার

@ ডেভিডফোরস্টার আপনার এখনও নতুন লাইনের সাথে ফাইলের নাম থাকতে পারে যা আপনার আদেশটি ভঙ্গ করবে।
রুসলান

@ রুসলান: এটি সঠিক তবে এই মুহূর্তে fdupesনাল-সমাপ্ত রেকর্ডগুলির জন্য কোনও বিকল্প সরবরাহ করে না, সুতরাং এর চেয়ে ভাল বিকল্প আর নেই। for f in $(fdupes ...)যদিও এটি অবশ্যই তুলনায় অনেক ভাল । : -]
ডেভিড ফোস্টার

9

fdupes একটি সমৃদ্ধ সিএলআই রয়েছে:

fdupes -r ./stuff > dupes.txt

তারপরে, অনুলিপি মুছে ফেলা যেমন dupes.txtআক্রমণাত্মক ডিরেক্টরিগুলি পরীক্ষা করা এবং মোছার মতো সহজ ছিল । fdupesএছাড়াও আপনি পাশাপাশি যাওয়ার সাথে সদৃশগুলি মুছতে অনুরোধ করতে পারেন।

fdupes -r /home/user > /home/user/duplicate.txt

কমান্ডের আউটপুট প্রবেশ করে duplicate.txt

fdupes সদৃশগুলি খুঁজতে ফাইলগুলির আকার এবং MD5 হ্যাশের তুলনা করবে।

বিস্তারিত ব্যবহারের তথ্যের জন্য fdupesম্যানপেজটি দেখুন ।


আমি একটি উপায় খুঁজে পেয়েছি। হ্যাঁ 1 | fdupes -rd / mnt / hda5 / midi_files
ব্যবহারকারী 84055

আরও দেখুন superuser.com/a/691551/122096
x29a

2

আমি এই নিরাপদ উপায়ে ব্যবহার করব:

একটি স্ক্রিপ্ট তৈরি করুন এবং সদৃশ ফাইলগুলি একটি নতুন ফোল্ডারে সরান। আপনি যদি মূল ফোল্ডারের বাইরে কোনও ফোল্ডারে চলে যান তবে fdupes নকল ফাইলগুলিকে দ্বিতীয় স্ক্যানের প্রতিবেদন করবে না এবং সেগুলি মুছে ফেলা নিরাপদ হবে।

#!/bin/bash

# Save default separator definitions
oIFS=$IFS
# define new line as a separator, filenames can have spaces
IFS=$'\n';

# For each file (f) listed as duplicated by fdupes, recursively
  for f in `fdupes -r -f .`
  do
    # Log the files I'm moving
    echo "Moving $f to folder Duplicates" >> ~/log.txt
    # Move the duplicated file, keeping the original in the original folder
    mv $f Duplicates/
  done

# restore default separator definitions
IFS=$oIFS

1

আমি বেশ কিছু সময়ের জন্য fslint এবং DupeGuru ব্যবহার করেছি

  • এফস্প্লিন্ট ওয়াইল্ডকার্ড এবং অন্যান্য ক্লিনআপ পদ্ধতি দ্বারা নির্বাচনকে সমর্থন করে
  • ডুপগুরু রেজেক্সকে সমর্থন করে

উভয়ই> 10000 ফাইল / ফোল্ডার পরিচালনা করতে পারে

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