dpkg-parsechangelog
ทำงานได้และคำตอบก่อนหน้านี้การส่งออกท่อผ่าน sed / grep ควรมีประสิทธิภาพอย่างสมบูรณ์ หากคุณต้องการทราบรายละเอียดที่แม่นยำของรูปแบบของdpkg-parsechangelog
การส่งออกและส่วนใหญ่ไฟล์ควบคุมเดเบียนแบบอื่นดูRFC 822 จะไม่เป็นไรสำหรับรุ่นแพคเกจ deb ที่มีการขึ้นบรรทัดใหม่เว้นวรรคหรืออักขระพิเศษหรือตัวควบคุมอื่น ๆ (ดูman deb-version
) ดังนั้นVersion: blah
บรรทัด "" ในเอาต์พุตจะมีอยู่เสมอและมันจะเป็นบรรทัดเดียวบนเสมอ ด้วยตัวเอง
อย่างไรก็ตามdpkg-parsechangelog
เป็นโปรแกรมที่หนักมากในการรันเพื่อรับหมายเลขเวอร์ชันปัจจุบันจากรายการเปลี่ยนแปลง มันต้องรัน Perl และโหลดไลบรารีจำนวนมากอย่างน่าประทับใจเพื่อที่จะให้ผลลัพธ์ที่คุณไม่ต้องใช้ บนแพลตฟอร์มที่ช้าลงหรือด้วยสื่อเก็บข้อมูลไฟล์ที่ช้าหรือเมื่อคุณจำเป็นต้องทำการแยกวิเคราะห์รุ่นนี้หลายครั้งมันจะพิสูจน์ว่าค่อนข้างช้า ให้ใช้อะไรก็ตามที่อยู่ในวงเล็บชุดแรกในบรรทัดแรกแทน
head -1 debian/changelog | awk -F'[()]' '{print $2}'
ที่คุณจะได้รับแพคเกจที่ถูกต้องรุ่นปัจจุบันที่มีถูกต้องใด ๆchangelog
ไฟล์โดยใช้รูปแบบมาตรฐาน (และไม่เป็นมาตรฐานdebian/changelog
รูปแบบที่มีวัตถุประสงค์เพื่อการทั่วไปในทางปฏิบัติไม่เคยใช้)