Записать часть строки в переменную

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Hemp
Сообщения: 17
ОС: Debian

Записать часть строки в переменную

Сообщение Hemp »

Есть такая строка, которая выдаётся следующей командой:
aptitude update | grep NO_PUBKEY
W: Ошибка GPG: http://mirror.yandex.ru squeeze Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 07DC563D1F41B907

Мне необходимо из этой строки, записать в переменную открытый ключ, т.е. 07DC563D1F41B907.
Подскажите как можно этого добиться?
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5405
ОС: Gentoo

Re: Записать часть строки в переменную

Сообщение /dev/random »

Hemp писал(а):
24.08.2012 22:26
Есть такая строка, которая выдаётся следующей командой:
aptitude update | grep NO_PUBKEY
W: Ошибка GPG: http://mirror.yandex.ru squeeze Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 07DC563D1F41B907

Мне необходимо из этой строки, записать в переменную открытый ключ, т.е. 07DC563D1F41B907.
Подскажите как можно этого добиться?

a="$(... | grep -o '[^ ]*$')"
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Записать часть строки в переменную

Сообщение SLEDopit »

/dev/random писал(а):
24.08.2012 22:36
a="$(... | grep -o '[^ ]*$')"
тогда уж

Код: Выделить всё

aptitude update 2>&1 | sed -n '/NO_PUBKEY/s/^[^ ]* //p'

UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
smaharbA
Сообщения: 229
ОС: Windows Vista

Re: Записать часть строки в переменную

Сообщение smaharbA »

x=`aptitude update 2>&1`; echo ${x##*NO_PUBKEY}
Я конечно далек от мысли...(с)
Спасибо сказали:
Аватара пользователя
infra_hdc
Сообщения: 376
ОС: GNU/Linux

Re: Записать часть строки в переменную

Сообщение infra_hdc »

тогда уж

Код: Выделить всё

a=$(aptitude update 2>&1 | awk '/NO_PUBKEY/ {print $NF}')

:)
Спасибо сказали: