dpkg-parsechangelog
çalışır ve daha önceki cevap sed / grep aracılığıyla çıktı borulama tamamen sağlam olmalıdır. dpkg-parsechangelog
Çıktı formatının kesin ayrıntılarını ve diğer debian tarzı kontrol dosyalarını öğrenmek istiyorsanız , bkz. RFC 822 . Bir deb paketi sürümünün yeni satır, boşluk veya başka bir özel veya kontrol karakteri içermesi asla uygun değildir (bkz. man deb-version
), Bu nedenle Version: blah
çıktıdaki " " satırı her zaman mevcut olacak ve her zaman kendi.
Ancak, bir changelog sadece geçerli sürüm numarasını almak için çalıştırmak dpkg-parsechangelog
için çok ağır bir programdır. Çoğu kullanamayacağınız bir sonuç vermek için Perl'i çalıştırmalı ve çok sayıda kütüphane yüklemelidir. Yavaş platformlarda veya yavaş dosya depolama ortamıyla veya bu sürümü birçok kez ayrıştırma yapmanız gerektiğinde, oldukça acı verici bir şekilde yavaşlayacaktır. Bunun yerine, ilk satırdaki ilk parantez kümesinin içindekileri kullanın:
head -1 debian/changelog | awk -F'[()]' '{print $2}'
Bu changelog
, standart formatı kullanarak geçerli herhangi bir dosya ile doğru geçerli paket sürümünü alır (ve standart olmayan debian/changelog
formatlar, tüm pratik genel amaçlar için asla kullanılmaz).