Я записал этот сценарий для получения номера версии всех libpcap библиотек по моей системе Ubuntu.
#!/bin/bash
allLIBs=$(ldconfig -p | grep libpcap)
echo "$allLIBs" | while IFS= read -r a; do
loc=$(echo $a | awk '{print $4}')
# resolve if a sym link
if [[ -h $loc ]]; then
loc_res=$(readlink -f $loc)
fi
# get lib name
libName=$(basename $loc_res)
echo "$loc"
echo " resolved to: $loc_res"
echo " lib name: $libName"
done
Вывод этого сценария на моей машине
/usr/local/lib/libpcap.so.1
resolved to: /usr/local/lib/libpcap.so.1.8.0-PRE-GIT
lib name: libpcap.so.1.8.0-PRE-GIT
/usr/lib/x86_64-linux-gnu/libpcap.so.0.8
resolved to: /usr/lib/x86_64-linux-gnu/libpcap.so.1.5.3
lib name: libpcap.so.1.5.3
/usr/local/lib/libpcap.so
resolved to: /usr/local/lib/libpcap.so.1.8.0-PRE-GIT
lib name: libpcap.so.1.8.0-PRE-GIT
/usr/lib/x86_64-linux-gnu/libpcap.so
resolved to: /usr/lib/x86_64-linux-gnu/libpcap.so.1.5.3
lib name: libpcap.so.1.5.3
Если Вы не уверены в количестве версий установленной библиотеки:
echo "$(ldconfig -p | grep -Eo '/[^ ]+libpcap[^ ]+ , Если бы у Вас нет пробелов в пути к файлу, использующему всего xargs
, был бы достаточен:
echo "$(ldconfig -p | grep -Eo '/[^ ]+libpcap[^ ]+ , Если существует только одна версия:
readlink "$(ldconfig -p | grep -Eo '/[^ ]+libpcap[^ ]+ <час> Для получения номера версии после so.
используйте grep
:
% grep -Eo '[0-9][^[:alpha:]]+ здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
<<<'libpcap.so.1.5.3'
1.5.3
здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
)"
<час> Для получения номера версии после so.
используйте grep
:
% grep -Eo '[0-9][^[:alpha:]]+ здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
<<<'libpcap.so.1.5.3'
1.5.3
здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
)" | xargs -L 1 readlink
, Если существует только одна версия:
readlink "$(ldconfig -p | grep -Eo '/[^ ]+libpcap[^ ]+ <час> Для получения номера версии после so.
используйте grep
:
% grep -Eo '[0-9][^[:alpha:]]+ здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
<<<'libpcap.so.1.5.3'
1.5.3
здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
)"
<час> Для получения номера версии после so.
используйте grep
:
% grep -Eo '[0-9][^[:alpha:]]+ здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
<<<'libpcap.so.1.5.3'
1.5.3
здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
)" | \
while IFS= read -r lib; do readlink "$lib"; done
, Если бы у Вас нет пробелов в пути к файлу, использующему всего xargs
, был бы достаточен:
echo "$(ldconfig -p | grep -Eo '/[^ ]+libpcap[^ ]+ , Если существует только одна версия:
readlink "$(ldconfig -p | grep -Eo '/[^ ]+libpcap[^ ]+ <час> Для получения номера версии после so.
используйте grep
:
% grep -Eo '[0-9][^[:alpha:]]+ здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
<<<'libpcap.so.1.5.3'
1.5.3
здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
)"
<час> Для получения номера версии после so.
используйте grep
:
% grep -Eo '[0-9][^[:alpha:]]+ здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
<<<'libpcap.so.1.5.3'
1.5.3
здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
)" | xargs -L 1 readlink
, Если существует только одна версия:
readlink "$(ldconfig -p | grep -Eo '/[^ ]+libpcap[^ ]+ <час> Для получения номера версии после so.
используйте grep
:
% grep -Eo '[0-9][^[:alpha:]]+ здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
<<<'libpcap.so.1.5.3'
1.5.3
здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
)"
<час> Для получения номера версии после so.
используйте grep
:
% grep -Eo '[0-9][^[:alpha:]]+ здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.
<<<'libpcap.so.1.5.3'
1.5.3
здесь мы получаем стартовое количество версии и затем продолжаем до конца, гарантирующего, что нет никаких промежуточных промежуточных буквенных символов.