পার্থক্য কোথায় আছে তা দেখতে আমি কীভাবে দুটি ডিরেক্টরিকে সাব ডায়ারের সাথে তুলনা করতে পারি?
পার্থক্য কোথায় আছে তা দেখতে আমি কীভাবে দুটি ডিরেক্টরিকে সাব ডায়ারের সাথে তুলনা করতে পারি?
উত্তর:
লিনাক্সের অধীনে:
$ diff -r /first/directory /second/directory
উইন্ডোজ অধীনে: আপনি সম্ভবত উইনমার্জ আরও ভাল ডাউনলোড এবং ইনস্টল করতে চাইবেন
> WinMerge /r c:\first\folder c:\second\folder
এম
আমি উবুন্টুতে মেল্ড ব্যবহার করেছি - এটির একটি ডিরেক্টরি ডিরেক্টরি তুলনা বিকল্প রয়েছে।
তুলনা ছাড়াই একটি ভাল বাণিজ্যিক সরঞ্জাম, 30 ডলার বা তার বেশি। উইন্ডোজ অধীনে চলমান, একটি eval সংস্করণ আছে। http://www.scootersoftware.com/
ডিফ সাধারণত দুটি ফাইলের তুলনা করতে ব্যবহৃত হয়, তবে এর চেয়ে অনেক বেশি কিছু করতে পারে। ইন 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
উইন্ডোজের জন্য ডিফফর্ম একটি উইন্ডোতে সাবফোল্ডার সহ পার্থক্য দেখায়। এখানে কোথাও একটি বহনযোগ্য সংস্করণ রয়েছে তবে দ্রুত অনুসন্ধানে এই ডাউনলোডটি প্রকাশ পেয়েছে : http://www.softpedia.com/get/System/File-Management/SourceGear-DiffMerge.shtml
আমি পাওয়ারশেলের তুলনা-অবজেক্টগুলি সেমিডলেট ব্যবহার করে এটি লিখেছি:
#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."} }