dpkg-parsechangelog
berfungsi, dan jawaban sebelumnya menyalurkan output melalui sed / grep harus sepenuhnya kuat. Jika Anda ingin mengetahui detail yang tepat dari format dpkg-parsechangelog
output, dan sebagian besar file kontrol gaya debian lainnya, lihat RFC 822 . Tidak pernah ok untuk versi paket deb mengandung baris baru, spasi, atau karakter khusus atau kontrol lainnya (lihat man deb-version
), jadi baris " Version: blah
" dalam output akan selalu ada, dan akan selalu ada satu baris pada barisnya sendiri.
Namun, dpkg-parsechangelog
ini adalah program yang sangat berat untuk dijalankan hanya untuk mendapatkan nomor versi saat ini dari changelog. Itu harus menjalankan Perl dan memuat sejumlah besar perpustakaan yang mengesankan untuk memberi Anda hasil, yang sebagian besar tidak akan Anda gunakan. Pada platform yang lebih lambat, atau dengan media penyimpanan file yang lambat, atau ketika Anda perlu melakukan parsing versi ini berkali-kali, itu akan terbukti sangat lambat. Sebagai gantinya, cukup gunakan apa pun yang ada di dalam set kurung pertama di baris pertama:
head -1 debian/changelog | awk -F'[()]' '{print $2}'
Itu akan memberi Anda versi paket saat ini yang benar dengan changelog
file yang valid menggunakan format standar (dan debian/changelog
format tidak standar , untuk semua keperluan umum praktis, tidak pernah digunakan).