попробуйте
awk -F\| -v select="$var" '$2 == select { print $4;}' config_file
где
$ var
содержит поле, которое вы хотите выбрать $ 2 == select
выбрать строку, второй аргумент которой - "$ var", или выбрать. {print $ 4;}
распечатать четвертое поле. Насколько мне известно, нет инструмента для поиска -идентификаторов сборки (, но см. ниже ).
Вы можете использовать apt-file
для поиска пакетов, предоставляющих используемые библиотеки. Установите его, обновите индексы, затем запустите
apt-file search /lib/x86_64-linux-gnu/libpcre.so.3
apt-file search /lib/x86_64-linux-gnu/libz.so.1
apt-file search /lib/x86_64-linux-gnu/libbz2.so.1.0
Чтобы использовать идентификаторы сборки -, вам необходимо просмотреть файлы Packages
вручную. Индекс репозиториев отладки включает идентификаторы сборки -; например
$ apt show libbz2-1.0-dbgsym
Package: libbz2-1.0-dbgsym
Version: 1.0.6-8.1
Auto-Built-Package: debug-symbols
Priority: extra
Section: debug
Source: bzip2
Maintainer: Anibal Monsalve Salazar <anibal@debian.org>
Installed-Size: 68.6 kB
Depends: libbz2-1.0 (= 1.0.6-8.1)
Homepage: http://www.bzip.org/
Build-Ids: 06ea95ca3df11e4a8e85791c1ff89a49fc3fe9c1
Download-Size: 51.5 kB
APT-Sources: http://debug.mirrors.debian.org/debian-debug stretch-debug/main amd64 Packages
Description: Debug symbols for libbz2-1.0
Для прямого поиска идентификаторов сборки -, от grep
до /var/lib/apt/*Packages
:
grep -l 06ea95ca3df11e4a8e85791c1ff89a49fc3fe9c1 /var/lib/apt/lists/*Packages
Вы можете комбинировать это с less
, чтобы увидеть имя и версию пакета:
grep -l 06ea95ca3df11e4a8e85791c1ff89a49fc3fe9c1 /var/lib/apt/lists/*Packages | xargs -r less -p06ea95ca3df11e4a8e85791c1ff89a49fc3fe9c1
Это будет работать, только если у вас есть индексы для отладочных пакетов; чтобы получить их, добавьте файл в /etc/apt/sources.list.d
, назовите его, например, debug.sources
, содержащий
Types: deb
URIs: http://debug.mirrors.debian.org/debian-debug/
Suites: stretch-debug testing-debug unstable-debug experimental-debug
Components: main
Это загрузит индексы отладки для основного компонента в стабильной, тестовой, нестабильной и экспериментальной версиях.
Некоторые пакеты (, такие как libpcre3
), не собирают пакеты -dbgsym
, поэтому они не охватываются приведенным выше поиском.Существует соответствующий libpcre3-dbg
, но, насколько я могу судить, ни одна из версий, находящихся в настоящее время в архивах, не соответствует вашему идентификатору сборки -.