มีเครื่องมือในการเปรียบเทียบค่าในไฟล์. ini หรือไม่ [ปิด]


10

ฉันกำลังมองหายูทิลิตีการเปรียบเทียบไฟล์สำหรับไฟล์. ini ซึ่งโดยทั่วไปจะใช้เป็นไฟล์การตั้งค่า

มีเครื่องมือเปรียบเทียบไฟล์มากมาย (WinDiff, Beyond Compare, CompareIt, WinMerge, ... ) แต่ไม่มีเครื่องมือใดที่ฉันพยายามสามารถจัดการกับไฟล์. ini ได้เป็นอย่างดี

ไฟล์. ini ทั่วไปอาจมีลักษณะเช่นนี้:

[Settings]
Setting1=abc
Setting2=xyz

เครื่องมือควรจับคู่บรรทัดตามสตริงก่อนหน้าเครื่องหมายเท่ากับจากนั้นแสดงความแตกต่างในทุกสิ่งหลังจากเครื่องหมายเท่ากับ ลำดับของบรรทัดภายในส่วน (ส่วนจะถูกระบุด้วยเครื่องหมายวงเล็บเหลี่ยม) ไม่สำคัญและควรละเว้น

ฉันไม่พบเครื่องมือใด ๆ ที่สามารถจัดการกับสิ่งนี้ได้ โดยทั่วไปแล้วเครื่องมือที่มีอยู่จะแสดงความแตกต่างในจุดเริ่มต้นของบรรทัดก่อนเครื่องหมายเท่ากับ (ถ้าข้อความส่วนใหญ่หลังเครื่องหมายเท่ากับตรงกัน) พวกเขาจะต่อสู้กับบรรทัดที่เรียงลำดับใหม่ (แสดงให้เห็นว่ามีการเปลี่ยนแปลงทั้งหมด ส่วนที่เหลือจะถูกลบในที่เดียวและเพิ่มในที่อื่น) ฉันยังพบเครื่องมือบางอย่างที่สามารถ จำกัด ข้อความที่ตรงกันเช่นใช้นิพจน์ทั่วไป แต่สิ่งเหล่านี้เพียงละเว้นส่วนที่เหลือของบรรทัดและฉันไม่สามารถจับคู่บรรทัดตามรูปแบบเดียว (เช่นทุกอย่างก่อนเครื่องหมายเท่ากับ) แล้วเปรียบเทียบพวกเขาตาม ในอีก (ทุกอย่างหลังจากเครื่องหมายเท่ากับ)


ตอนนี้ฉันได้อ่านคำถามของคุณแล้วฉันไม่เข้าใจสิ่งที่คุณต้องการ ... บางทีคุณสามารถแสดงสิ่งที่คุณต้องการเช่นเดียวกับสิ่งที่คุณมี regexes และ diff ควรจะสามารถจัดการกับสิ่งที่คุณต้องการจะทำ
โจเซฟ Kern

คุณควรเปลี่ยนชื่อโพสต์ของคุณ .... มีเครื่องมือในการเปรียบเทียบค่าในไฟล์. ini หรือไม่?
โจเซฟ Kern

1
สำหรับ OS / 2: os2world.com/goran/initools.htm ;-)
splattne

ขอบคุณโจเซฟจุดดีฉันได้แก้ไขชื่อ splattne - initools ดูเหมือนจะสมบูรณ์แบบน่าละอายที่ฉันใช้ Windows
ssollinger

คำตอบ:


6

Beyond Compare มีกฎ INI เรียงแล้วคุณสามารถดาวน์โหลดได้


1
เยี่ยมมากนั่นคือสิ่งที่ฉันกำลังมองหา ฉันดูการเปรียบเทียบแบบเปรียบเทียบสั้น ๆ ก่อนหน้านี้ แต่ไม่ได้สังเกตเห็นกฎการเรียงลำดับ ในกรณีที่ใครสนใจลิงค์ในการตอบของคุณสำหรับ Beyond เปรียบเทียบ 2 "กฎ ini เรียง" สำหรับ Beyond เปรียบเทียบ 3 มีอยู่ที่นี่: scootersoftware.com/download.php?zz=kb_moreformats
ssollinger

ลิงก์จากความคิดเห็นแรกไม่ทำงาน - 404 มีหน้าอื่นจาก BC4 เท่านั้น - scootersoftware.com/download.php?zz=kb_moreformatsv4
pl71


2

ฉันมักจะเรียงลำดับไฟล์ก่อนเปรียบเทียบ มันจะไม่ช่วยถ้าคุณมีสิ่งที่ชอบ

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

แต่สมมติว่ากุญแจของคุณไม่เหมือนใคร (และสามารถจับคู่กับส่วนได้) ก็มักจะใช้งานได้ดี


บางครั้งสิ่งนี้ช่วยได้ แต่อย่างที่คุณบอกว่ามันไม่ทำงานหากมีหลายส่วนมันก็ล้มเหลวบ่อยครั้งหากมีไฟล์หลายบรรทัดหายไปในไฟล์ใดไฟล์หนึ่ง
ssollinger

จริง; ฉันไม่ได้แนะนำว่ามันเป็นเหมาะ แต่ในหยิกก็มักจะสามารถช่วย
Mikeage

2

ลองใช้ vimdiff นี่คือตัวอย่างของไฟล์. ini


ดวงตาของฉัน! .Xdefaults! เปลี่ยนพวกเขา!
โจเซฟ Kern

1
ใช่มันน่าเกลียดมากขอโทษ แต่ฉันไม่คิดว่ามันจะเกี่ยวอะไรกับ. Xdefaults เพราะนี่คือคอนโซล ฉันจะดูในเอกสารเป็นกลุ่มเพื่อเปลี่ยนสีเหล่านี้ :)
chmeee

1
ในกรณีที่คนอื่นสนใจ - vimdiff สามารถใช้ได้ผ่าน vim.org VimDiff ก็โอเค แต่มันล้มเหลวเมื่อมีการสลับบรรทัดแล้วค่าคือการจับคู่ที่ใกล้กว่าจากนั้นสตริงก่อนหน้าเครื่องหมายเท่ากับ ในกรณีนี้ VimDiff จะแสดงความแตกต่างในส่วนก่อนเครื่องหมายเท่ากับซึ่งไม่ใช่สิ่งที่ฉันต้องการ
ssollinger


0

ฉันชอบ Winmerge ที่ปรับแต่งได้เสมอ


WinMerge นั้นยอดเยี่ยม แต่ไม่สามารถจัดการกับไฟล์การตั้งค่า (ไฟล์. ini) ได้เป็นอย่างดี มันจะดีกว่าแล้วบางคนอื่น ๆ (เช่น WinDiff) แต่คำถามของฉันคือเครื่องมือที่เปรียบเทียบค่าในไฟล์. ini WinMerge ไม่สามารถทำได้
ssollinger

1
Winmerge มีการตั้งค่าสำหรับการเปรียบเทียบบล็อกข้อความที่ย้ายและคล้ายกัน ฉันใช้สำหรับการเปรียบเทียบไฟล์ web.config แต่ฉันเดาว่าไฟล์เหล่านั้นมีการจัดระเบียบมากกว่าไฟล์ ini เล็กน้อย
เดฟ

ฉันใช้ WinMerge และทำการทดแทน regex ในแต่ละไฟล์เพื่อลบตัวเลขก่อนเปรียบเทียบ ( [0-9]+=กับ=) แต่ฉันต้องทิ้งไฟล์ที่เปลี่ยนแปลงไปเสมอ ฉันกำลังมองหาทางออกที่ดีกว่า
djeidot
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.