При работе с файлами пакетов Debian вы можете найти grep-dctrl
полезно. Он невероятно гибок в том, что касается ограничения данных.
выходы, а также в том, как его выводить. Вместо того, чтобы пытаться разобрать пакеты
сам формат файла, я бы просто попросил grep-dctrl
сделать это для меня и распечатать только
биты информации, которые меня интересуют:
$ grep-dctrl -n -s Package,Version nimbox /var/lib/apt/lists/..._Packages
Это даст вам что-то вроде:
nimbox-apexer-sales
1.0.0-201007241449
nimbox-tomcat
6.0.26-5
При этом нужно только соединить правильные линии, что легко
хватит, например, на perl:
$ ... |perl -pi -0e's/(?<!^)\n(?!\n)/ /mg; s/\n\n/\n/g'
nimbox-apexer-sales 1.0.0-201007241449
nimbox-tomcat 6.0.26-5
или любой другой набор стандартных инструментов UNIX, которые вам нравятся.
Конечно, можно перейти непосредственно от формата файла Packages к тому, что вы
хочу, но использование инструментов, предназначенных для этой работы, кажется мне хорошей идеей.