เปรียบเทียบไดเร็กทอรีสองรายการใน Mac โดยใช้ diff

ถ้าคุณต้องการเห็นความแตกต่างระหว่างสองโฟลเดอร์บน Mac หรือเปรียบเทียบเนื้อหาสองไดเร็กตอรี่คุณสามารถทำได้โดยใช้คำสั่ง diff ที่มีประสิทธิภาพ

บทแนะนำนี้จะแสดงวิธีเปรียบเทียบไดเร็กทอรีและเนื้อหาของไดเร็กทอรีเหล่านี้โดยใช้เทอร์มินัล วิธีการบรรทัดคำสั่งนี้จะแสดงไฟล์ที่มีความแตกต่างอย่างชัดเจนระหว่างโฟลเดอร์เป้าหมายสองโฟลเดอร์

เพื่อให้บรรลุการเปรียบเทียบนี้เราจะใช้เครื่องมือบรรทัดคำสั่ง 'diff' diff สามารถใช้ได้กับเครื่องแม็คทุกเครื่องรวมถึง Linux และ Unix อื่น ๆ ดังนั้นจึงเป็นทางเลือกที่มีประสิทธิภาพสำหรับการเปรียบเทียบไดเร็กทอรี Diff ค่อนข้างง่ายที่จะใช้สำหรับการเปรียบเทียบเนื้อหาของไดเร็กทอรีใด ๆ ได้อย่างง่ายดายเพียงทำตามคำอธิบายโดยใช้ไวยากรณ์ด้านล่าง

วิธีการเปรียบเทียบเนื้อหาของไดเรกทอรีที่สองกับ diff

ในการเริ่มต้นให้เรียกใช้ Terminal ใน Mac OS (พบใน / Applications / Utilities /) จากนั้นใช้ไวยากรณ์คำสั่งต่อไปนี้:

diff -rq directory1 directory2

ตีกลับเมื่อคุณได้ระบุไดเรกทอรีที่เหมาะสมเพื่อเปรียบเทียบ นี้จะรันคำสั่ง diff เปรียบเทียบ directory1 และ directory2 (ถ้าคุณมีโฟลเดอร์ที่มีช่องว่างอยู่ในชื่อไฟล์เพียงใส่ในเครื่องหมายคำพูดเช่น: "folder one") เราใช้อาร์กิวเมนต์ -rq เนื่องจาก -r หมายถึง recursive รวมไดเรกทอรีย่อยและ -q ช่วยลดความยุ่งยากของผลลัพธ์ของคำสั่งให้แตกต่างกันไป

ตัวอย่างผลลัพธ์ของคำสั่งอาจมีลักษณะดังนี้:

$diff -rq directory1 directory2

เฉพาะในไดเรกทอรี 1: example221.txt

เฉพาะในไดเรกทอรี 1: SuperSecretDifferentFile.rtf

เฉพาะในไดเรกทอรี 2: AmazingScript.py

เฉพาะในไดเรกทอรี 2: MyFavoriteSong.mp3

เฉพาะในไดเรกทอรี 2: MyFavoriteSpecialMovie.mp4

นอกจากนี้คุณยังสามารถไปที่ขั้นตอนต่อไปและเปลี่ยนเส้นทางผลลัพธ์ของคำสั่งนั้นไปยังไฟล์สมมติว่าชื่อนี้มีชื่อว่า differences.txt:

diff -rq directory1 directory2 >> differences.txt

นี่คือตัวอย่างและวิธีการพิมพ์ที่เกิดขึ้นจริงจะมีลักษณะ สมมติว่า w're เปรียบเทียบโฟลเดอร์ที่ชื่อว่า "old music" และ "new music" และเราต้องการเอาต์พุตคำสั่งที่แสดงความแตกต่างระหว่างไดเร็กทอรีทั้งสองในไฟล์ชื่อ "musicfolders.txt" จากนั้นจะใช้ไวยากรณ์คำสั่งต่อไปนี้:

diff -rq "old music" "new music" >> musicfolders.txt

ตอนนี้ดูในไดเร็กตอรี่การทำงานปัจจุบันของไฟล์ที่คุณสร้างขึ้นโดยใช้คำสั่ง diff ในกรณีนี้ไฟล์คือ musicfolders.txt และเนื้อหาสามารถดูได้ในโปรแกรมแก้ไขข้อความบรรทัดคำสั่งหรืออื่น ๆ การเปิดไฟล์ข้อความคุณจะเห็นบางอย่างเช่นนี้:

Only in old music: song1.mp3
Only in old music: song2.mp3
Only in old music: song3.mp3
Only in new music: instrumental1.mp3
Only in new music: instrumental1.mp3

ถ้าคุณต้องการดูไฟล์จากบรรทัดคำสั่งลอง:

more musicfolders.txt

ไม่เช่นนั้นเพียงไปที่ไดเร็กทอรีที่มีและเปิดในโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ

หากคุณไม่ต้องการสร้างไฟล์ข้อความที่มีการเปลี่ยนแปลงเพียงแค่ปล่อยให้เปลี่ยนเส้นทางออกคำสั่ง คุณอาจต้องการเอาท์พุทไปที่บางอย่างเช่น 'เพิ่มเติม' เพื่อให้ง่ายต่อการสแกนแม้ว่า:

diff -rq "old music" "new music" | more

คำสั่ง diff มีประสิทธิภาพมากและมีตัวเลือกอื่น ๆ อีกมากมายที่สามารถใช้งานได้ให้ใช้คำสั่ง diff ของมนุษย์เพื่อดูรายละเอียดทั้งหมดเกี่ยวกับวิธีใช้ diff รวมถึงคุณลักษณะมากมายที่มีอยู่

ขอแนะนำอีกครั้งว่าคำสั่งนี้จะทำงานได้ใน Mac OS X ทุกเวอร์ชันเช่นเดียวกับระบบปฏิบัติการยูนิกซ์ส่วนใหญ่