เปรียบเทียบข้อความ (Diff)
เครื่องมือเปรียบเทียบข้อความออนไลน์ฟรี เทียบข้อความสองชุดทีละบรรทัดในเบราว์เซอร์ของคุณ เห็นได้ชัดว่ามีอะไรเพิ่ม ลบ หรือแก้ไข และคัดลอกผลลัพธ์เป็นแพตช์รูปแบบรวม
เครื่องมือเปรียบเทียบข้อความทำอะไร
เครื่องมือเปรียบเทียบข้อความจะจับข้อความเดียวกันสองรุ่นมาเรียงให้ตรงกัน แล้วทำเครื่องหมายว่าอะไรเปลี่ยนไประหว่างสองรุ่นนั้น บรรทัดที่มีอยู่ในทั้งสองรุ่นจะคงไว้อย่างเดิม บรรทัดที่มีเฉพาะในรุ่นแรกจะถูกทำเครื่องหมายว่าลบ และบรรทัดที่มีเฉพาะในรุ่นที่สองจะถูกทำเครื่องหมายว่าเพิ่ม ผลที่ได้คือรายการการเปลี่ยนแปลงสั้น ๆ แทนที่จะเป็นไฟล์ยาวสองไฟล์ที่คุณต้องนั่งอ่านเทียบกันเอง
เมื่อไรที่คุณต้องใช้
ทุกครั้งที่ของสองอย่างควรเหมือนกันแต่อย่างหนึ่งไม่เหมือน เช่น ไฟล์ตั้งค่าที่ใช้ได้บนเซิร์ฟเวอร์หนึ่งแต่พังบนอีกเครื่อง ข้อสัญญาที่มีคนแก้โดยไม่บอก บันทึกที่เมื่อก่อนสะอาด คำแปลที่เคลื่อนห่างจากต้นฉบับ การอ่านทั้งสองรุ่นให้จบทั้งไฟล์นั้นช้าและไม่น่าเชื่อถือ เพราะสายตาจะข้ามตัวเลขที่เปลี่ยนไป แต่การเปรียบเทียบไม่ข้าม
อ่านผลลัพธ์อย่างไร
| สัญลักษณ์ | ความหมาย |
|---|---|
| บรรทัดนี้เหมือนกันทั้งสองข้อความ และแสดงไว้เพื่อเป็นบริบทเท่านั้น | |
| - | บรรทัดนี้มีเฉพาะในข้อความเดิม |
| + | บรรทัดนี้มีเฉพาะในข้อความที่แก้ไข |
| @@ | เริ่มกลุ่มการเปลี่ยนแปลง และบอกว่ากลุ่มนั้นครอบคลุมบรรทัดใดในแต่ละข้อความ |
เหล่านี้คือสัญลักษณ์ของรูปแบบรวม (unified format) รูปแบบเดียวกับที่ diff -u, git และ patch ใช้ แพตช์ที่หน้านี้สร้างขึ้นสามารถบันทึกเป็นไฟล์แล้วนำไปใช้กับเครื่องมือเหล่านั้นได้
วิธีใช้
การเปรียบเทียบทำงานในเบราว์เซอร์ของคุณ ไม่มีสิ่งใดที่คุณวางลงไปถูกส่งไปที่ใด ซึ่งเป็นเรื่องสำคัญ เพราะไฟล์ที่คนเอามาเทียบกันมักเป็นไฟล์ที่ไม่ควรอัปโหลดนั่นเอง ได้แก่ ข้อมูลรับรองตัวตน สัญญา และข้อมูลลูกค้า
- วางข้อความรุ่นเดิมในช่องแรก และรุ่นที่แก้ไขในช่องที่สอง
- เลือกว่าจะไม่สนตัวพิมพ์เล็กใหญ่และช่องว่างหรือไม่ มีประโยชน์เมื่อสองไฟล์เขียนมาจากโปรแกรมแก้ไขต่างกัน
- อ่านบรรทัดที่ทำเครื่องหมายไว้ หรือคัดลอกแพตช์รูปแบบรวมไปใช้การเปลี่ยนแปลงนั้นที่อื่น
คำถามที่พบบ่อย
ข้อความของฉันถูกอัปโหลดขึ้นเซิร์ฟเวอร์ไหม
ไม่ การเปรียบเทียบเกิดขึ้นทั้งหมดในเบราว์เซอร์ของคุณด้วย JavaScript หน้านี้ไม่ส่งอะไรออกไปและไม่เก็บอะไรไว้
ฉันเพิ่มแค่ช่องว่างหนึ่งช่อง ทำไมบอกว่าบรรทัดเปลี่ยน
เพราะโดยค่าเริ่มต้นการเปรียบเทียบนั้นตรงตัวทุกอักขระ เปิด “ไม่สนช่องว่าง” แล้วบรรทัดที่ต่างกันเพียงย่อหน้าหรือระยะห่างจะถูกถือว่าเหมือนกัน โดยหน้าจอยังคงแสดงแต่ละไฟล์ตามที่มันเป็นจริง
เปรียบเทียบไฟล์แทนการวางข้อความได้ไหม
เปิดไฟล์ในโปรแกรมแก้ไขใดก็ได้ เลือกทั้งหมดแล้ววางที่นี่ หน้านี้เปรียบเทียบข้อความ ดังนั้นอะไรที่อ่านเป็นข้อความได้ก็เทียบได้ทั้งนั้น ไม่ว่าจะเป็นโค้ด CSV บันทึก JSON หรือร้อยแก้วธรรมดา
ตัวขึ้นบรรทัดใหม่ของ Windows กับ Unix เป็นปัญหาไหม
ไม่ ตัวขึ้นบรรทัด CRLF และ LF ถือเป็นการขึ้นบรรทัดเดียวกัน ไฟล์ที่บันทึกบน Windows จึงไม่ปรากฏเหมือนว่าทุกบรรทัดเปลี่ยนไป
แพตช์มีไว้ทำอะไร
มันคือรูปแบบรวมที่ diff -u สร้างขึ้น และ git กับ patch อ่านได้ บันทึกเป็นไฟล์แล้วคุณจะนำการเปลี่ยนแปลงนี้ไปใช้กับสำเนาอื่นของต้นฉบับได้อย่างตรงเป๊ะ หรือแนบไปกับใบงานให้คนอื่นเห็นว่าคุณแก้อะไรไป
Wikipedia — diff
Wikipedia — Unified format
Wikipedia — Longest common subsequence
Wikipedia — Patch (computing)
Wikipedia — File comparison