[sisyphus] default route и awk

Pavel Usischev =?iso-8859-1?q?usischev_=CE=C1_gmail=2Ecom?=
Пт Июн 23 01:56:07 MSD 2006


Здравствуйте.

> А вот что с awk?
> 
> [root на mc sysconfig]# ip route list
> 192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.3 
> 127.0.0.0/8 dev lo  scope link 
> default dev eth0  scope link 
> [root на mc sysconfig]# ip route list | awk '/^default / { sub(/eth/,"",$NF); print $NF }'
> link

С awk как раз все совершенно в порядке. $NF -- последнее поле строки, 
т.е. "link". Отрезаем спереди "eth" -- ничего не меняется. Так и печатает.

Почему ip выдает scope link для дефолтного маршрута, видимо нужно искать 
там, где этот дефолтный маршрут задается. Распарсить текущий вывод 
можно, например, так:

| awk '/^default / { split($0,a,"dev eth"); print substr(a[2],1,1) }'

Эта конструкция вроде не должна сломаться и при возможном изменении 
вывода ip route list (если имя девайса останется с "eth" в начале).

-- 
С уважением,
Павел Усищев



Подробная информация о списке рассылки Sisyphus