รูปแบบเอาต์พุตมาตรฐาน (เก่า) จะแสดงความแตกต่างระหว่างไฟล์โดยไม่มีข้อความล้อมรอบด้วยพื้นที่ที่ไฟล์ต่างกัน
แสดงความแตกต่างโดยไม่มีบริบท
diff
รูปแบบเอาต์พุต"ปกติ" แสดงความแตกต่างแต่ละก้อนโดยไม่มีบริบทแวดล้อม บางครั้งเอาต์พุตดังกล่าวเป็นวิธีที่ชัดเจนที่สุดในการดูว่าบรรทัดมีการเปลี่ยนแปลงอย่างไรโดยไม่ต้องยุ่งเหยิงของบรรทัดที่ไม่เปลี่ยนแปลงในบริเวณใกล้เคียง (แม้ว่าคุณจะได้ผลลัพธ์ที่คล้ายกันกับบริบทหรือรูปแบบรวมโดยใช้บริบท 0 บรรทัด) อย่างไรก็ตามรูปแบบนี้ไม่ได้ใช้กันอย่างแพร่หลายในการส่งแพตช์ สำหรับวัตถุประสงค์นั้นรูปแบบบริบทและรูปแบบรวมจะดีกว่า รูปแบบปกติเป็นค่าเริ่มต้นสำหรับความเข้ากันได้กับรุ่นเก่ากว่าdiff
และมาตรฐาน POSIX ใช้--normal
ตัวเลือกเพื่อเลือกรูปแบบผลลัพธ์นี้อย่างชัดเจน
คำอธิบายโดยละเอียดของรูปแบบปกติ
รูปแบบเอาต์พุตปกติประกอบด้วยความแตกต่างอย่างน้อยหนึ่งอย่าง ก้อนใหญ่แต่ละอันจะแสดงพื้นที่หนึ่งที่ไฟล์ต่างกัน รูปแบบปกติ hunks มีลักษณะเช่นนี้:
CHANGE-COMMAND
< FROM-FILE-LINE
< FROM-FILE-LINE...
---
> TO-FILE-LINE
> TO-FILE-LINE...
คำสั่งการเปลี่ยนแปลงมีสามประเภท แต่ละประกอบด้วยหมายเลขบรรทัดหรือช่วงของบรรทัดที่คั่นด้วยเครื่องหมายจุลภาคในไฟล์แรกอักขระเดียวที่ระบุชนิดของการเปลี่ยนแปลงที่จะทำและหมายเลขบรรทัดหรือช่วงที่คั่นด้วยเครื่องหมายจุลภาคในไฟล์ที่สอง หมายเลขบรรทัดทั้งหมดเป็นหมายเลขบรรทัดดั้งเดิมในแต่ละไฟล์ ประเภทของคำสั่งการเปลี่ยนแปลงคือ:
LaR
เพิ่มบรรทัดในช่วง R ของไฟล์ที่สองหลังจากบรรทัด L ของไฟล์แรก ตัวอย่างเช่น,8a12,15
หมายถึงการผนวกบรรทัดที่ 12-15 ของไฟล์ 2 หลังจากบรรทัดที่ 8 ของไฟล์ 1 หรือหากเปลี่ยนไฟล์ 2 เป็นไฟล์ 1 ให้ลบบรรทัด 12-15 ของไฟล์ 2
FcT
แทนที่บรรทัดในช่วง F ของไฟล์แรกด้วยบรรทัดในช่วง T ของไฟล์ที่สอง นี่เป็นเหมือนการเพิ่มและลบแบบรวม ตัวอย่างเช่น,5,7c8,10
หมายถึงเปลี่ยนบรรทัด 5-7 ของไฟล์ 1 เพื่ออ่านเป็นบรรทัด 8-10 ของไฟล์ 2 หรือหากเปลี่ยนไฟล์ 2 เป็นไฟล์ 1 ให้เปลี่ยนบรรทัด 8-10 ของไฟล์ 2 เพื่ออ่านเป็นบรรทัด 5-7 ของไฟล์ 1
RdL
ลบบรรทัดในช่วง R จากไฟล์แรก; บรรทัด L คือตำแหน่งที่ปรากฏในไฟล์ที่สองหากไม่ถูกลบ ตัวอย่างเช่น5,7d3
หมายถึงลบบรรทัด 5-7 ของไฟล์ 1; หรือหากเปลี่ยนไฟล์ 2 เป็นไฟล์ 1 ให้ต่อท้ายบรรทัดที่ 5-7 ของไฟล์ 1 ต่อจากบรรทัดที่ 3 ของไฟล์ 2
oranges
เป็นส่วนที่ใหญ่ที่สุดระหว่างสองไฟล์ดังนั้นสิ่งที่คุณได้รับคือวิธีที่สั้นที่สุดในการแสดงความแตกต่างระหว่างสองไฟล์