উইন্ডো ডিফ ডিমান্ডের সমতুল্য কী?


284

আমি জানি যে এখানে একটি অনুরূপ পোস্ট আছে: এখানে
আমি compউল্লিখিত কমান্ডটি ব্যবহার করার চেষ্টা করেছি , তবে আমার কাছে যদি দুটি ফাইল থাকে, একটিতে "অ্যাবসিডি" এর মতো ডেটা এবং অন্যটি ডেটা "অ্যাবসিডি" থাকে, তবে এটি কেবল ফাইলগুলি বিভিন্ন আকারের বলে। আমি জানতে চেয়েছিলাম যে তাদের ঠিক কোথায় পার্থক্য রয়েছে। ইউনিক্সে, সরল ভিন্নতা আমাকে বলে যে কোন সারি এবং কলামটি, উইন্ডোতে কমপ কমান্ড যদি আমার "abd" এবং "abc" এর মতো কিছু থাকে তবে কাজ করে। অন্যথায় না। আমি কি এই জন্য ব্যবহার করতে পারেন কোন ধারণা?

উত্তর:


461

এটি সিএমডি শেল বা ব্যাচ ফাইলে চালান:

FC file1 file2

FC বাইনারি ফাইলগুলি তুলনা করতেও ব্যবহার করা যেতে পারে:

FC /B file1 file2

3
দুটি ফোল্ডারে পরিবর্তিত সমস্ত ফাইলের সাহায্যে আপনি এটি কীভাবে করবেন? পছন্দ করুন, আমি ফোল্ডার 1 এর বিষয়বস্তু ফোল্ডার 2 এর সামগ্রীগুলির সাথে তুলনা করব: ফোল্ডার 2 এর কোনও পরিবর্তিত লাইন দেখানো হবে?
ওল্ফপ্যাক'08

17
@ ওল্ফপ্যাক'০৮ ": FC path1\* FC path2\*ফোল্ডারে থাকা সমস্ত ফাইলের তুলনা করতে হবে path1এবং path2, যদি তাদের (ফাইলগুলি) অভিন্ন নাম থাকে। যদি নামের সাথে মিল নেই, FC একটি অনুপস্থিত ফাইলের প্রতিবেদন করবে, তবে কেবলমাত্র প্রথম ফোল্ডারের ফাইলগুলির জন্যই নয় । 'টন অন্যান্য উপায় বৃত্তাকার দ্বিতীয় ফোল্ডারে এবং পাওয়া সব অমিল ধরার জন্য একজন বিভিন্ন কৌশল সম্ভবত প্রয়োজন হবে।
আন্দ্রেই এম

@ অ্যান্ড্রিএম সুতরাং, নতুন ফাইলগুলির ফলে কোনও আসল লাইন না ফিরিয়ে এফসি ত্রুটি ঘটবে? শুধুমাত্র ত্রুটির বার্তা?
ওল্ফপ্যাক '08

1
@ ওল্ফপ্যাক'০৮: হ্যাঁ, নিখোঁজ অংশটির সম্পর্কে কেবল বার্তা, বিদ্যমান পক্ষের কোনও লাইন নেই। (তবে এটি অন্য, বিদ্যমান, ফাইল জোড়গুলির প্রসেসিং বন্ধ করবে না এবং তাদের তুলনাটি এখনও চালানো হবে, যদি আপনি যা বলছিলেন তাই করে।)
অ্যান্ড্রি এম

@ অ্যান্ড্রিএম সুতরাং, আপনি বলতে চাইছেন: "যদি ত্রুটি: files in both directories are diff'd; files in only one directory throw errors." আকর্ষণীয়। তবে অবশ্যই একটি তৃতীয় পক্ষের প্রোগ্রামের পার্থক্য আছে?
ওল্ফপ্যাক'08

36

ঠিক আছে, উইন্ডোজে আমি আনন্দের সাথে diffএবং অনেকগুলি জিএনইউ সরঞ্জামগুলি চালিত করি । আপনি এটি সাইগউইন দিয়ে করতে পারেন , তবে আমি ব্যক্তিগতভাবে GnuWin32 পছন্দ করি কারণ এটি অনেক বেশি হালকা ইনস্টলেশন অভিজ্ঞতা।

সুতরাং, আমার উত্তরটি হ'ল উইন্ডোজ এর সমতুল্য diff, অন্য কোনওটি diffনয়!


1
সাইগউইনের বেস ইনস্টলটি আলাদা বলে মনে হয় না। এটি পেতে আমার কী অতিরিক্ত প্যাকেজ ইনস্টল করতে হবে?
ওয়ারেন ডিউ

7
আমি সাইগউইনের প্রস্তাব দিই না। আমি একটি নেটিভ উইন 32 পোর্ট ব্যবহার করতে চাই
ডেভিড হেফারনান

1
@ ওয়ারেনডিউ আপনার প্রয়োজন সাইগউইন প্যাকেজটি diffutilsসাইগউইন.com
স্টিভ পিচারস

24

উইনমার্নের একটি কমান্ড লাইন ইউটিলিটি রয়েছে যা পরীক্ষা করে দেখার মতো হতে পারে।

এছাড়াও, আপনি এর প্রয়োজনীয়তার উপর নির্ভর করে এর গ্রাফিকাল অংশটিও ব্যবহার করতে পারেন।


2
যদিও এটি কোনও বিল্ট-ইন উইন্ডোজ ইউটিলিটি নয়, তবে আমি এটির উচ্চ প্রস্তাব দিই - এটি ওপেন সোর্স, হালকা ওজন এবং আমার অভিজ্ঞতাকে বাগ-মুক্ত।
ডেভিড.বারখুইজন

19

অন্য বিকল্প হ'ল এখান থেকে গিট ডাউনলোড এবং ইনস্টল করা । তারপরে Git\bin\আপনার PATHচলকটিতে পথ যুক্ত করুন । এটি আপনাকে কেবল পৃথক নয়, অন্যান্য অনেক লিনাক্স কমান্ডও দেবে যা আপনি উইন্ডোজ কমান্ড লাইন থেকে ব্যবহার করতে পারেন।

আপনি PATHকম্পিউটারে ডান ক্লিক করে বৈশিষ্ট্য নির্বাচন করে ভেরিয়েবল সেট করতে পারেন । তারপরে আপনি স্ক্রিনের বাম দিকে অ্যাডভান্সড সিস্টেম সেটিংসে ক্লিক করতে পারেন। পপ-আপে, পরিবেশের ভেরিয়েবলগুলি ক্লিক করুন এবং তারপরে আপনার ব্যবহারকারী ভেরিয়েবলের সাথে PATH ভেরিয়েবল যুক্ত করুন বা আপডেট করুনGit\bin\

গিট ডিফারেন্টেশন


@ ফায়ারলাইট - আপনার উত্তরের জন্য আপনাকে ধন্যবাদ আপনি এখানে কী বোঝাতে চেয়েছেন তা এখানে ব্যাখ্যা করতে পারেন: "তারপরে, আপনার PATH ভেরিয়েবলের সাথে গিটবিন \ এর পথ যুক্ত করুন" "
বিকেএসপুরজন

2
@ বি কে এসপুরজিয়ন - আপনি যদি কম্পিউটারে ডান ক্লিক করেন এবং বৈশিষ্ট্যগুলি নির্বাচন করেন তবে আপনি স্ক্রিনের বাম দিকে অ্যাডভান্সড সিস্টেম সেটিংসে ক্লিক করতে পারেন। পপ-আপে, পরিবেশগত পরিবর্তনগুলি ক্লিক করুন এবং তারপরে আপনার ব্যবহারকারী ভেরিয়েবলগুলিতে পিএটিএইচ ভেরিয়েবলটি যোগ করুন বা হালনাগাদ করুন বিট \
টিম হাচিসন

@ জাস্টিনকর্ম্যাক আপনার কাছে এর জন্য কোনও রেফারেন্স রয়েছে? আমি কেবল গিত বাশে ভিন্নতার চেষ্টা করেছি এবং এটি কাজ করেছিল
টিম হাচিসন

3
@ টিম হ্যাচিসন, আপনার উত্তর থেকে: "এটি আপনাকে উইন্ডোজ কমান্ড লাইন থেকে ব্যবহার করতে পারবেন এমন অনেকগুলি লিনাক্স কমান্ডকে কেবল আলাদা করে দেবে না।" - আপনি কোনটি বোঝাতে চান? যখন কেউ গিট ইনস্টল করে, তখন তার git...কাছে PATH থেকে কেবল এক্সিকিউটেবলগুলি পাওয়া উচিত । অধিকন্তু, উত্তরে তথ্যের একটি গুরুত্বপূর্ণ অংশ অন্তর্ভুক্ত করা উচিত: যে আপনাকে git diffকেবল লেখাই নয়, কেবল লেখার মাধ্যমে ডিফ ডিভাইস চালু করতে হবে diff
পেটর বোদনার


14

আমার ক্ষেত্রে এফসি দুর্দান্তভাবে কাজ করে এটি কার্যকর ছিল না কারণ আমি পরিবর্তন করেছি কেবলমাত্র লাইনগুলি চেয়েছিলাম। এবং এফসি অতিরিক্ত ফাইল যেমন ফাইলের নাম, একই লাইন এবং দ্বিপক্ষীয় তুলনা দেয়।

    >fc data.txt data.txt.bak   
    ***** DATA.TXT
    ####09
    ####09
    ####09
    ***** DATA.TXT.BAK
    ####09
    ####08
    ####09

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

সুতরাং আমি ফাইলটি তুলনা করতে "ফাইন্ডস্টার" ব্যবহার করেছি :

findstr /V /G:data.txt.bak data.txt >DiffResult.txt

কোথায় :

data.txt.bak পুরানো ফাইলের নাম

data.txt নতুন ফাইলের নাম

DiffResult.txt পরিবর্তিত হয় এমন ডেটা রয়েছে যার অর্থ একটি মাত্র লাইন #### 09


1
/ ব্লকের একমাত্র প্রথম লাইন এবং শেষ লাইনটি পরিবর্তিত হয়েছে / এন লাইন নম্বরগুলি দেখায়
লুকাশ

10

FC। সাইগউইনের ডিফের চেয়ে বড় ফাইলগুলি (> 4 গিগাবাইট) হ্যান্ডলিংয়ে এফসি আরও ভাল।


10

পাওয়ারশেল (যা উইন্ডোজের অংশ) রয়েছে। এটি দ্রুত নয় তবে এটি নমনীয়, এখানে বেসিক কমান্ড। আপনার আরও ভাল ফর্ম্যাটিংয়ের প্রয়োজন হলে লোকেরা এর জন্য বিভিন্ন সেমিডলেট এবং স্ক্রিপ্ট লিখেছেন।

PS C:\Users\Troll> Compare-Object (gc $file1) (gc $file2)

উইন্ডোজের অংশ নয়, তবে আপনি যদি ভিজ্যুয়াল স্টুডিওর বিকাশকারী হন তবে এটি উইনডিফের সাথে আসে (গ্রাফিকাল)

তবে আমার ব্যক্তিগত প্রিয় বিয়ন্ডকম্পের, যার দাম $ 30।


4

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

আমার জ্ঞানের সাথে কোনও বিল্ট-ইন সমতুল্য নেই।


আমি এটিও ব্যবহার করেছি, তবে, আজ আমি আবিষ্কার করেছি যে সেই পৃষ্ঠায় প্রদত্ত চমত্কার পুরানো সংস্করণ ২.৮..7 এ একটি বাগ রয়েছে (নির্দিষ্ট পিডিএফ ফাইলগুলির সাথে তুলনা করার সময় তারা সমান হিসাবে প্রতিবেদন করা হয়েছে)। সুতরাং এখন ফায়ারলাইট দ্বারা প্রস্তাবিত "গিট ডিফ" পছন্দ করছেন।
anre

4

আপনি সিএমপি-তে ত্রুটি পাওয়ার কারণটি হ'ল ইউটিলিটি যে ফাইলগুলি আপনি তুলনা করছেন তা একই আকারের। এটি কাটিয়ে ওঠার জন্য আপনি যে '/n'বিকল্পটি ব্যবহার করতে পারেন তার সাথে আপনি তুলনা করতে চান এমন লাইনগুলির সংখ্যা নির্দিষ্ট করতে পারেন। ( 'comp /?'কমান্ড লাইনে টাইপ করে কম্প দ্বারা সমর্থিত বিকল্পগুলি দেখুন so সুতরাং আপনার কমান্ডটি দেখতে কেমন হবে:

C:\>comp "filepath1" "filepath2" /a /l /n=(the number of lines you want to compare) /c 

আপনি যদি COMP ব্যবহার করতে চান তবে এটি আপনার সমস্যার সমাধান করবে। তবে এটি সত্যিই বড় ফাইলগুলির জন্য সমস্যা হবে।

যদিও compএটি একটি বিকল্প, তবে আমি এটি আদিম বলে মনে করি এবং FCএটি একটি আরও ভাল বিকল্প। আপনি ব্যবহার করতে পারেন FORFILESএবং FCএকসঙ্গে আপনি একটি ঘন ভিত্তিতে এক প্রয়োজন সম্ভবত সত্যিই একটি ভাল filecompare উপযোগ করতে।

রেফারেন্সের জন্য এফসি এভাবে ব্যবহার করা হয়:

C:\>fc /c(case insensistive) /lbn(number of errors allowed before you wanna stop compare) /n(display line number) "filename1" "filename2"

এমন অনেকগুলি বিকল্প উপলব্ধ রয়েছে যা আপনি 'fc /?' আশা করে দেখতে পারেন এটি সহায়তা করে


2

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

উইনডিফ http://www.grigsoft.com/download-windiff.htm


0

ডিফ ডিফেন্সের সমান উইন্ডোজ হ'ল fc (ফাইল কোমাপ্রে) কমান্ড।

এটি করার জন্য এখানে প্রাথমিক পদক্ষেপগুলি রয়েছে:
১. দুটি ফাইলকে একটি ফোল্ডারে রাখুন (উদাহরণস্বরূপ file1.html এবং file2.html)
২. কমান্ড প্রম্পট চালু করুন ৩.এফসি ফাইল1
টাইপ করুন লোকেশন ফাইল 2 লোকেশন

একই বিষয়ে একটি বিস্তারিত টিউটোরিয়াল পেয়েছি:

http://www.howtogeek.com/206123/how-to-use-fc-file-compare-from-the-windows-command-prompt/


0

আমি জানি না যে নীচের সরঞ্জামটি আপনার যা প্রয়োজন তা বহুলাংশে রয়েছে কিনা। তবে আমি নির্দিষ্ট ফাইলগুলির জন্য কিছু অনলাইন সরঞ্জাম ব্যবহার করতে চাই। অপারেটিং সিস্টেম নির্বিশেষে আমি এটি ব্যবহার করতে পারি। এখানে একটি উদাহরণ: diffchecker.com

তবে আমার প্রয়োজনের জন্য, আমি অনুমান করি যে আমার প্রকল্পের ফাইলগুলির লগগুলি পরিবর্তন এবং লগগুলি ট্র্যাক করার সেরা সরঞ্জামটি হ'ল জিআইটি। আপনি যদি একটি দলে কাজ করেন, আপনার নিজের একটি সার্ভারে অনলাইনে কিছু রেপো রাখতে পারেন, বা বিটবকেট বা গিথুব দিয়ে এটি ব্যবহার করতে পারেন।

আশা করি এটি কারও সাহায্য করবে।


0

আপনি যদি নিজের মেশিনে গিট ইনস্টল করেন তবে আপনি গিট টার্মিনালটি খুলতে পারেন এবং diffসাধারণভাবে লিনাক্স কমান্ডটি ব্যবহার করতে পারেন ।

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