পার্থক্যগুলির জন্য দুটি ডিরেক্টরি (উপ ডিরেক্টরি সহ) কীভাবে তুলনা করবেন?


14

পার্থক্য কোথায় আছে তা দেখতে আমি কীভাবে দুটি ডিরেক্টরিকে সাব ডায়ারের সাথে তুলনা করতে পারি?


6
অপারেটিং সিস্টেম দয়া করে।
ম্যাক্সিমাস মিনিমাস

আপনি কি জানতে চাইছেন যে দুটি ডিরেক্টরিতে ভিন্ন ফাইল রয়েছে বা ফাইলগুলির বিষয়বস্তু আলাদা কিনা?
ম্যাট সিমন্স

উত্তর:


20

লিনাক্সের অধীনে:

$ diff -r /first/directory /second/directory

উইন্ডোজ অধীনে: আপনি সম্ভবত উইনমার্জ আরও ভাল ডাউনলোড এবং ইনস্টল করতে চাইবেন

> WinMerge /r c:\first\folder c:\second\folder

এম


3
আমি এখন ডিফ-কিআরএল ব্যবহার করি ...
অ্যালেক্স

1
জিইউআই-তে কোনও কমান্ড প্রম্পট ব্যবহার না করেই / আর স্যুইচ নির্দিষ্ট করার বিকল্প রয়েছে?
ওমতারা

@ ওমতারা, আপনি উইনমার্জ শুরু করার পরে ফাইল - ওপেন নির্বাচন করুন। খোলা কথোপকথনে, // সাবফোল্ডারগুলি অন্তর্ভুক্ত করুন // পরীক্ষা করুন। আপনি যদি উইন্ডোজ এক্সপ্লোরারে দুটি ফোল্ডার নির্বাচন করে উইনমার্জ খুলেন, শেল ইন্টিগ্রেশনটি কনফিগার করুন। সম্পাদনা খুলুন - বিকল্পসমূহ; বিভাগ // শেল ইন্টিগ্রেশন নেভিগেট করুন এবং চেক // ডিফল্টরূপে সাবফোল্ডারগুলি অন্তর্ভুক্ত করুন //।
আর শেরুর্স

2

আমি উবুন্টুতে মেল্ড ব্যবহার করেছি - এটির একটি ডিরেক্টরি ডিরেক্টরি তুলনা বিকল্প রয়েছে।


মেল্ডের জন্য +1, সাধারণত আমি আলাদা আলাদা আলাদা কমান্ড লাইন বিকল্প পছন্দ করি তবে দৃশ্যে দুটি ভিন্ন ডিরেক্টরের প্রকৃত পৃথক ফোল্ডারগুলিকে এক নজরে যেমন এক নজরে দেখতে পাই তা খুব দরকারী। মেল্ড এবং ডিফ উভয়ই 2018 সালে এটি খুঁজে পাওয়া অন্য যে কোনও ব্যক্তির জন্য উবুন্টু 16.04 এবং উবুন্টু 18.04 এ ঠিক ঠিক কাজ করে work অবশ্যই উইন্ডোতে উইনমার্গ একটি দুর্দান্ত বিকল্প। আমি উইন্ডোতে মেল্ডের কাজ শুনেছি কিন্তু আমি ব্যক্তিগতভাবে এটি এখনও চেষ্টা করি নি।
কেন

1

তুলনা ছাড়াই একটি ভাল বাণিজ্যিক সরঞ্জাম, 30 ডলার বা তার বেশি। উইন্ডোজ অধীনে চলমান, একটি eval সংস্করণ আছে। http://www.scootersoftware.com/


1

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

সম্পাদনা: ওফ, মারিয়াস তাকে মারধর করেছিল


1

ডিফ সাধারণত দুটি ফাইলের তুলনা করতে ব্যবহৃত হয়, তবে এর চেয়ে অনেক বেশি কিছু করতে পারে। ইন diffসে বিকল্পগুলি "R" এবং "Q" এটা recursively আস্তে আস্তে কাজ করা, যে, শুধুমাত্র উল্লেখ পার্থক্য, যা শুধু আমরা যা খুঁজছিলেন তা হল:

diff -rq todo_orig/ todo_backup/

আপনি যদি ফাইলগুলির মধ্যে পার্থক্য দেখতে চান যা কোনও ডিরেক্টরিতে নাও থাকতে পারে:

diff -Nrq dir1/ dir2/

আপনি পারেন এছাড়াও ব্যবহার Rsyncএবং find। এর জন্য find:

find $FOLDER -type f | cut -d/ -f2- | sort > /tmp/file_list_$FOLDER

তবে একই নাম এবং একই সাবফোল্ডারে ফাইলগুলি, তবে বিভিন্ন সামগ্রী সহ তালিকাগুলিতে প্রদর্শিত হবে না।

আপনি যদি জিইউআইয়ের অনুরাগী হন তবে আপনি মেল্ডটি পরীক্ষা করতে পারেন । এটি উভয় উইন্ডো এবং লিনাক্সে কাজ করে works


0

উইন্ডোজের জন্য ডিফফর্ম একটি উইন্ডোতে সাবফোল্ডার সহ পার্থক্য দেখায়। এখানে কোথাও একটি বহনযোগ্য সংস্করণ রয়েছে তবে দ্রুত অনুসন্ধানে এই ডাউনলোডটি প্রকাশ পেয়েছে : http://www.softpedia.com/get/System/File-Management/SourceGear-DiffMerge.shtml


0

আমি পাওয়ারশেলের তুলনা-অবজেক্টগুলি সেমিডলেট ব্যবহার করে এটি লিখেছি:

#set the directories 
$firstdirectory = Read-Host "What is the first directory you wish to compare?" $seconddirectory = Read-Host "What is the second directory you wish to compare?"

#Check if the user wants to compare subdirectories 
$recursivesearch = Read-Host "Do you wish to compare subdirectories? Please enter yes or no." If ($recursivesearch -eq "yes") 

#get the contents 
{ $firstdirectorycontents = @(Get-ChildItem $firstdirectory -Recurse) $seconddirectorycontents = @(Get-ChildItem $seconddirectory -Recurse ) }

    else { $firstdirectorycontents = @(Get-ChildItem $firstdirectory) $seconddirectorycontents = @(Get-ChildItem $seconddirectory) }
    #compare the objects and handle errors 
if ($firstdirectorycontents.Count -eq 0 )
        {
        Write-Host "No files were found in the first directory, the directories cannot be compared."
        }
        elseif ($seconddirectorycontents.Count -eq 0)
        {
        Write-Host "No files were found in the second directory, the directories cannot be compared."
        }
        else
        {   
        try 
            {
            Compare-Object -ReferenceObject $firstdirectorycontents -DifferenceObject $seconddirectorycontents 
            }

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