Ваш подход терпит неудачу, потому что *
означает "сопоставить максимально длинную строку". Это известно как «жадный» модификатор. Вы хотите «сопоставить кратчайшую возможную строку», не -жадный оператор. Итак, если ваш grep
поддерживает это, используйте -P
, чтобы включить расширенные регулярные выражения, и запустите:
$ grep -Po '/genomes.*?,' file
/genomes/date/pa341,
/genomes/date/ha76870,
/genomes/date/btr256,
Однако лучшим подходом было бы сопоставить как можно больше символов, отличных от -,
,:
$ grep -o '/genomes[^,]*' file
/genomes/date/pa341
/genomes/date/ha76870
/genomes/date/btr256
Похоже, что вы уже делали что-то подобное в прошлом, но не обрабатываете это таким же образом :используя buster -backports .
Если вы добавляете пакеты из buster -бэкпортов , вы должны продолжать использовать эти бэкпорты, поскольку по умолчанию переход на более раннюю версию не разрешен. Ваша установленная версия libvulkan1
взята из buster -backports уже поэтому автоматически является кандидатом, потому что это более новая версия, чем просто buster . Поскольку версия libvulkan-dev
находится в заблокированном -шаге с версией libvulkan1
(, они взяты из одного и того же источника ), у вас нет другого выбора, кроме как использовать buster -backports ] для libvulkan-dev
тоже.Итак, в конце:
apt-get -t buster-backports install libvulkan-dev