क्या .ini फ़ाइलों में मूल्यों की तुलना करने के लिए एक उपकरण है? [बन्द है]


10

मैं विशेष रूप से .ini फ़ाइलों के लिए एक फ़ाइल तुलना उपयोगिता के लिए देख रहा हूं, आमतौर पर सेटिंग्स फ़ाइलों के रूप में उपयोग किया जाता है।

फ़ाइल तुलना टूल (WinDiff, Beyond तुलना, ComparIt, WinMerge, ...) के बहुत सारे हैं, लेकिन मैंने जो भी उपकरण आज़माए उनमें से कोई भी .ini फ़ाइलों को बहुत अच्छी तरह से संभाल नहीं सकता है।

एक सामान्य .ini फ़ाइल इस तरह दिख सकती है:

[Settings]
Setting1=abc
Setting2=xyz

उपकरण को समान चिह्न से पहले स्ट्रिंग पर आधारित रेखाओं से मेल खाना चाहिए, फिर समान चिह्न के बाद बाकी सब चीजों में अंतर दिखाएं। एक खंड के भीतर लाइनों का क्रम (वर्ग कोष्ठक द्वारा इंगित किया जाता है) कोई फर्क नहीं पड़ता है और इसे अनदेखा किया जाना चाहिए।

मुझे ऐसा कोई टूल नहीं मिला जो इसे संभाल सके। आमतौर पर मौजूदा उपकरण समान संकेत से पहले लाइन की शुरुआत में अंतर दिखाते हैं (यदि बराबर चिह्न के बाद अधिकांश पाठ), वे फिर से आदेशित लाइनों के साथ संघर्ष करेंगे (या तो यह सब बदल के रूप में दिखाएं या कुछ लाइनों से मेल खाएं और दिखाएं शेष को एक स्थान पर हटा दिया गया और फिर दूसरे स्थान पर जोड़ा गया)। मुझे कुछ ऐसे उपकरण भी मिले, जहाँ मिलान पाठ को प्रतिबंधित किया जा सकता है, जैसे कि नियमित अभिव्यक्तियों का उपयोग करना, लेकिन ये केवल रेखा के शेष भाग को अनदेखा करते हैं और मैं एक पैटर्न के आधार पर लाइनों का मिलान नहीं कर सकता (अर्थात समान चिह्न से पहले सब कुछ) और फिर उनकी तुलना करना दूसरे पर (समान संकेत के बाद सब कुछ)।


अब जब मैंने आपके प्रश्न को पढ़ लिया है, तो मुझे वास्तव में समझ में नहीं आ रहा है कि आप क्या चाहते हैं ... शायद आप यह दिखा सकते हैं कि आप क्या चाहते हैं। regexes और diff जो आप करना चाहते हैं उसे संभालने में सक्षम होना चाहिए।
जोसेफ केर्न

आपको अपनी पोस्ट का नाम बदलना चाहिए .... क्या .ini फाइलों में मूल्यों की तुलना करने के लिए एक उपकरण है?
जोसेफ केर्न

1
OS / 2 के लिए: os2world.com/goran/initools.htm ;-)
छपना

धन्यवाद जोसेफ, अच्छी बात है, मैंने शीर्षक संपादित किया है। splattne - initools लगता है कि यह सही होगा, शर्म की बात है कि मैं विंडोज का उपयोग कर रहा हूं।
ssollinger

जवाबों:


6

तुलना के अलावा एक आईएनआई नियम है जिसे आप डाउनलोड कर सकते हैं ।


1
शानदार, यह वही है जो मैं देख रहा था। मैंने कुछ समय पहले बियोंड की तुलना में देखा था लेकिन सॉर्ट किए गए आई नियम को नोटिस नहीं किया था। : में मामला किसी को दिलचस्पी है, अपने उत्तर में कड़ी 2. की तुलना के लिए परे "आरं नियम अनुसार क्रमबद्ध" तुलना से परे के लिए 3 यहाँ उपलब्ध है है scootersoftware.com/download.php?zz=kb_moreformats
ssollinger

पहली टिप्पणी से लिंक काम नहीं कर रहा - - 404. एक और पेज fr BC4 केवल नहीं है scootersoftware.com/download.php?zz=kb_moreformatsv4
pl71

4

हां, मुझे पता है कि यह एक प्राचीन प्रश्न है, लेकिन मैं एक उपकरण का सुझाव देना चाहता हूं जो मैंने लिखा था:

dzIniFileFormatter जो SourceForge से उपलब्ध है


2

मैंने अक्सर तुलना करने से पहले सिर्फ फाइलों को छांटा है। अगर आपको कुछ पसंद है तो यह मदद नहीं करेगा

[foo]
bar1=xyz
bar2=abc
[foo2]
bar1=lky

लेकिन यह मानते हुए कि आपकी चाबियाँ अद्वितीय हैं (और इसलिए इसे एक अनुभाग से मिलान किया जा सकता है), यह अक्सर एक चुटकी में काम करता है।


यह कभी-कभी मदद करता है, हालांकि जैसा कि आपने कहा था कि यह काम नहीं करता है यदि कई खंड हैं, तो यह अक्सर विफल भी हो जाता है यदि फ़ाइलों में से एक में कई लाइनें गायब हैं (अधिकांश उपकरण तब गलत लाइनों को मेल करने की कोशिश करना शुरू करते हैं)।
ssollinger

सच; मैं इसे एक आदर्श के रूप में अनुशंसित नहीं कर रहा हूं, लेकिन एक चुटकी में, यह अक्सर मदद कर सकता है
माइकेज

2

Vimdiff का प्रयास करें। यहाँ .ini फ़ाइलों के साथ एक उदाहरण दिया गया है।


मेरी आँखें! .Xdefaults! उन्हें बदलो!
जोसेफ केर्न

1
हाँ, यह बहुत बदसूरत है, क्षमा करें। लेकिन मुझे नहीं लगता कि इसका .Xdefaults से कोई लेना-देना नहीं है क्योंकि यह कंसोल है। मैं इन रंगों को बदलने के लिए vim प्रलेखन में देखूंगा :)।
चमी जी

1
अगर किसी और को दिलचस्पी है - vimdiff vim.org के माध्यम से उपलब्ध है। VimDiff ठीक है, लेकिन यह विफल हो जाता है जब लाइनों की अदला-बदली होती है और फिर मूल्य एक बराबर मिलान होता है तो समान चिह्न से पहले स्ट्रिंग। इस मामले में VimDiff बराबर चिह्न से पहले भाग में अंतर दिखाएगा, जो कि मैं नहीं चाहता।
ssollinger


0

मैं हमेशा बहुत ही अनुकूलन Winmerge पसंद आया है।


WinMerge बहुत अच्छा है, लेकिन सेटिंग्स फ़ाइलों (.ini फ़ाइलों) के साथ बहुत अच्छी तरह से व्यवहार नहीं करता है। यह बेहतर है तो कुछ अन्य (जैसे WinDiff), लेकिन मेरा प्रश्न एक ऐसे टूल के लिए था जो विशेष रूप से .ini फाइलों में मूल्यों की तुलना करता है। WinMerge ऐसा नहीं कर सकता।
ssollinger

1
विनमर के पास पाठ के ब्लॉक की तुलना करने के लिए एक सेटिंग है जो चले गए हैं और समान हैं। मैं इसे web.config फ़ाइलों की तुलना करने के लिए उपयोग करता हूं, लेकिन मुझे लगता है कि वे ini फ़ाइलों की तुलना में थोड़ा अधिक व्यवस्थित हैं।
डेव

मैं WinMerge का उपयोग करता हूं और तुलना ( [0-9]+=से =) करने से पहले संख्याओं को हटाने के लिए प्रत्येक फ़ाइल पर एक रेगेक्स प्रतिस्थापन करता हूं । लेकिन मुझे हमेशा बदली हुई फाइलों को छोड़ना पड़ता है। मैं भी एक बेहतर समाधान की तलाश में हूं।
djeidot
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.