เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | Contents | ถัดไป>

ปะ

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


ผู้ร่วมให้ข้อมูลที่ส่งกระแสการเปลี่ยนแปลงเล็กน้อยไปยังซอร์สโค้ดอย่างต่อเนื่อง เคอร์เนล Linux ประกอบด้วยโค้ดหลายล้านบรรทัด ในขณะที่การเปลี่ยนแปลงที่ทำโดยผู้มีส่วนร่วมเพียงคนเดียวในคราวเดียวนั้นค่อนข้างเล็ก ผู้ร่วมให้ข้อมูลไม่สมเหตุสมผลเลยที่จะส่งแผนผังต้นทางเคอร์เนลทั้งหมดให้กับนักพัฒนาแต่ละรายทุกครั้งที่มีการเปลี่ยนแปลงเล็กน้อย แทนที่จะส่งไฟล์ diff ไฟล์ diff ประกอบด้วยการเปลี่ยนแปลงจากเคอร์เนลเวอร์ชันก่อนหน้าเป็นเวอร์ชันใหม่โดยมีการเปลี่ยนแปลงของผู้มีส่วนร่วม ผู้รับจะใช้คำสั่ง ปะ โปรแกรมเพื่อใช้การเปลี่ยนแปลงกับแผนผังต้นทางของเขาเอง โดยใช้ diff/ปะ มีข้อดีที่สำคัญสองประการ:

1. ไฟล์ diff มีขนาดเล็กมาก เมื่อเทียบกับขนาดเต็มของแผนผังต้นทาง

2. ไฟล์ diff จะแสดงการเปลี่ยนแปลงที่เกิดขึ้นอย่างกระชับ ซึ่งช่วยให้ผู้ตรวจสอบโปรแกรมแก้ไขสามารถประเมินได้อย่างรวดเร็ว

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

เพื่อเตรียมไฟล์ diff สำหรับใช้กับ ปะเอกสาร GNU (ดูเพิ่มเติมด้านล่าง) แนะนำให้ใช้ diff ดังต่อไปนี้:

ความแตกต่าง -Naur old_file ใหม่_file > diff_file.dif

ที่ไหน old_file และ new_file เป็นไฟล์เดียวหรือไดเร็กทอรีที่มีไฟล์ NS r

ตัวเลือกรองรับการเรียกซ้ำของแผนผังไดเร็กทอรี

เมื่อสร้างไฟล์ diff แล้ว เราสามารถนำไปใช้กับไฟล์เก่าในการแก้ไขไฟล์ใหม่ได้:

ปะ diff_file.dif

เราจะสาธิตด้วยไฟล์ทดสอบของเรา:



[me@linuxbox ~]$ diff -Naur file1.txt file2.txt > patchfile.txt

[me@linuxbox ~]$ แพทช์ < patchfile.txt

ไฟล์แก้ไข file1.txt [me@linuxbox ~]$ ไฟล์ cat1.txt b

cde

[me@linuxbox ~]$ diff -Naur file1.txt file2.txt > patchfile.txt

[me@linuxbox ~]$ แพทช์ < patchfile.txt

ไฟล์แก้ไข file1.txt [me@linuxbox ~]$ ไฟล์ cat1.txt b

cde


ในตัวอย่างนี้ เราได้สร้างไฟล์ diff ชื่อ patchfile.txt แล้วใช้ ปะ โปรแกรมที่จะใช้แพทช์ โปรดทราบว่าเราไม่ต้องระบุไฟล์เป้าหมายเป็น ปะเนื่องจากไฟล์ diff (ในรูปแบบรวม) มีชื่อไฟล์อยู่ในส่วนหัวอยู่แล้ว พอลงแพตช์แล้วจะเห็นว่า ไฟล์ 1.txt ตอนนี้ตรงกัน ไฟล์ 2.txt.

แพตช์มีตัวเลือกมากมาย และยังมีโปรแกรมยูทิลิตี้เพิ่มเติมที่สามารถใช้ในการวิเคราะห์และแก้ไขแพตช์


ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: