Один из способов получить лучшее из обоих миров (актуальное программное обеспечение, простая установка / удаление, включение большинства дистрибутивов настройки и адаптации, можно оптимизировать для местных требований), в то время как затраты (нужно быть в курсе, следить за ошибками и исправлениями в последний момент, следить за разработкой, вы сами по себе в отношении исправлений ошибок и несовместимости между версиями ) не может быть уменьшено (сильно), заключается в создании собственных пакетов, начиная с исходных пакетов из вашего дистрибутива. Да, это больше, чем просто сборка и установка.
Почему бы не использовать простую команду grep
, я предполагаю, что в слове в списке нет пробелов.
echo $list | tr ' ' '\n' | grep master
Он заменит пробел новой строкой, а затем выполнит grep word master.
Используйтеgrep -o
:
grep -o "[^ ]*master[^ ]*" <<<"$list"
Если вы знаете, что у вас всегда есть только master*
и worker*
, вы можете использовать методы Shell:
echo "${list// *worker[^ ]*/}"
grep -ow 'master[^ ]*' <<<"$list"
или, с GNU grep
,
grep -Pow 'master\S+' <<<"$list"
-o
будет извлекать соответствующий бит строки в $list
,и -w
гарантирует, что мы не найдем themaster
или какое-либо другое слово, которое не начинается с master
.
\S
во второй команде — это PCRE, который будет соответствовать любому символу пробела, отличному от -.