ฉันต้องการดูไฟล์ซ้ำที่แตกต่างกันในสองไดเรกทอรี Diff สามารถทำสิ่งนี้ได้ แต่มันแสดงให้เห็นถึงความแตกต่างแบบบรรทัดต่อบรรทัดซึ่งฉันไม่ต้องการ มีเครื่องมือที่ทำสิ่งนี้หรือวิธีการทำสิ่งนี้กับ Diff (ฉันอ่าน man page ฉันไม่เห็นอะไรเลย)?
ฉันต้องการดูไฟล์ซ้ำที่แตกต่างกันในสองไดเรกทอรี Diff สามารถทำสิ่งนี้ได้ แต่มันแสดงให้เห็นถึงความแตกต่างแบบบรรทัดต่อบรรทัดซึ่งฉันไม่ต้องการ มีเครื่องมือที่ทำสิ่งนี้หรือวิธีการทำสิ่งนี้กับ Diff (ฉันอ่าน man page ฉันไม่เห็นอะไรเลย)?
คำตอบ:
เกี่ยวกับอะไร
diff -rq DIR1 DIR2
หรือ
diff -rqb DIR1 DIR2
-r ซ้ำ
-q เป็นข้อมูลโดยย่อและจะแจ้งให้คุณทราบว่าไฟล์ต่างกันหรือไม่ (เช่นจะไม่แสดงความแตกต่างของบรรทัดต่อบรรทัด)
-b ละเว้นช่องว่าง
คุณกำลังมองหา-q
ตัวเลือก:
dlamblin$ diff -r a b
diff -r a/a b/a
0a1,2
>
>
Only in b: b
dlamblin$ diff -qr a b
Files a/a and b/a differ
Only in b: b
วิธีหนึ่งในการทำเช่นนี้คือการทำ
diff dir1 dir1| grep "diff "
มันจะทำการเปรียบเทียบทีละบรรทัด แต่การเปรียบเทียบแต่ละไฟล์เริ่มต้นด้วย "diff dir1 / ไฟล์ dir2 / file" ดังนั้น grepping "diff" จะแสดงเฉพาะบรรทัดเหล่านั้น (เช่นไฟล์ที่แตกต่างกัน)
หากคุณเป็นผู้ใช้ emacs ให้ตรวจสอบไดเรกทอรี ediff คุณสามารถดูความแตกต่างของไฟล์จากนั้นเจาะลึกลงไปในความแตกต่างแบบทีละบรรทัดหากคุณต้องการดูสาเหตุที่แตกต่างกัน