On Thu, 26 Dec 2013 15:39:56 +0400Во-первых, ip a show dev ppp50, чтобы обойтись без грепа.
Vladimir Skubriev <skubriev@cvisionlab.com> wrote:
> Помогите с sed. Пожалуйста.
>
> #ip a | grep ppp50
> 6: ppp50: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc
> pfifo_fast state UNKNOWN qlen 3
> inet 84.51.23.2 peer 80.68.8.17/32 scope global ppp50
Во-вторых, указать более точный regexp. Хватит условия "строка без
> #ip a | grep ppp50 | sed -r 's/(.*inet )(.*)( peer.*)/\2/'
> 6: ppp50: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc
> pfifo_fast state UNKNOWN qlen 3
> 84.51.23.2
>
> Нужно получить ip адрес по интерфейсу.
пробелов и слешей": [^ /]*, т.е. в итоге получится:
ip a show dev ppp50 | grep -E '\<inet\>' | sed -r 's/.*inet ([^ /]*).*/\1/'
Грепается строка с "inet", чтобы отфильтровать всё постороннее, в т.ч. inet6.
Но надо не забыть обработать случай, когда на интерфейсе несколько адресов.
--
Alexander Galanin
Archive: [🔎] 20131226161044.9256aa493ce92a75bd74161b@galanin.nnov.ru" target="_blank">http://lists.debian.org/[🔎] 20131226161044.9256aa493ce92a75bd74161b@galanin.nnov.ru
--
To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org