Тогда уж ip a show dev br0 | sed -rn 's/.*inet ([^ /]*).*/\1/p'
2013/12/26 Alexander Galanin <a...@galanin.nnov.ru> > On Thu, 26 Dec 2013 15:39:56 +0400 > Vladimir Skubriev <skubr...@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 > > Во-первых, ip a show dev ppp50, чтобы обойтись без грепа. > > > #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 адрес по интерфейсу. > > Во-вторых, указать более точный regexp. Хватит условия "строка без > пробелов и слешей": [^ /]*, т.е. в итоге получится: > > ip a show dev ppp50 | grep -E '\<inet\>' | sed -r 's/.*inet ([^ /]*).*/\1/' > > Грепается строка с "inet", чтобы отфильтровать всё постороннее, в т.ч. > inet6. > > Но надо не забыть обработать случай, когда на интерфейсе несколько адресов. > > -- > Alexander Galanin > > > -- > To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact > listmas...@lists.debian.org > Archive: > http://lists.debian.org/20131226161044.9256aa493ce92a75bd741...@galanin.nnov.ru > >