Выборочное обновление портов в FreeBSD

Возникла необходимость обновить только php56 одной командой. В принципе, такой вариант возможен не только для php56.
Выполняем:

 pkg info | grep php | awk '{print $1}' | sed 's/-5.6.38//' | xargs pkg upgrade -y

Здесь
pkg info | grep php - выводит совпадения только для установленных пакетов, содержащих php56, что-то вроде
php56-5.6.38                   PHP Scripting Language

awk '{print $1}' выводит только название пакета без его описания
sed 's/-5.6.38//' - обрезает `-5.6.38` в конце, а
xargs pkg upgrade -y - передает полученное название пакета в pkg upgrade с опцией подтверждения `-y`

Или такой вариант

pkg version | grep "<" | awk '{print $1}' | sed 's/-[0-9].*$//' | grep py | xargs pkg upgrade -y

обновляем пакеты, имена которых содержат `py`

Отправить комментарий

CAPTCHA
Чтобы убедиться в том что Вы не робот, ответьте, пожалуйста, на вопрос
Fill in the blank