Помогите пожалуйста откинуть лишнее из строчки вида
[ebuild U] net-fs/samba-4.2.4-r1 [4.1.20-r1::gentoo] USE="acl pam%* system-mitk"
Сохранить нужно лишь название пакета net-fs/samba (как пример), используя sed, awk (может быть оба).
Строго говоря, тогда уж просто samba. Ибо, насколько я помню синтаксис ебилдов, там идёт ${PN}-${PV}.
Кстати по строкам AVKor выше скрипт не всегда срабатывает. Зачастую на выходе получается строка вида ' [\ ' (без пробелов).
Я наверное некорректно изначально вопрос поставил. Вот пример исходного файла для обработки: https://bpaste.net/show/c01ed5aaa0dc
Я плохо помню досконально выхлоп emerge, но может быть возможен и случай без пробела, как в начальном вопросе. Может тогда уместно какую-то проверку сделать?
Если вместо samba будет что-то типа sgmltools-2, то работать не будет. Но для таких и непонятно, как можно написать для отделения номера версии от имени пакета.
Сергей: Это понятно. Работать будет на всех, кроме таких, как указано в конце моего ответа. Для последних я не вижу способа автоматической обработки, только руками.
Он не работает на таких как voms-mysql-plugin, но это можно исправить.
У меня Debian, но это неважно, в генте, наверно, что-то подобное: вот для таких пакетов как postgresql-9.4-slony1-2 или libzapojit-0.0-0 или libyajl-tulip-4.6-2 вообще непонятно, как можно сделать.
Запутался в здешних комментариях. Но тем не менее с учётом более "общей специфики" требования по данному вопросу, продублирую сюда, что нужно изменить в скрипте?