Я пытаюсь проанализировать некоторые данные из вывода ifconfig с помощью sed, но я не могу сделать это правильно.Я хочу, чтобы команда извлекла только число, за которым я следую.
Например, меня интересует извлечение отправленных байтов:
eth1 Link encap:Ethernet HWaddr 00:00:00:09:15:f7
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::92e2:baff:fe08:35c7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:75141 errors:0 dropped:0 overruns:0 frame:0
TX packets:78046 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9040489 (9.0 MB) TX bytes:34806464 (34.8 MB)
Если я использую sed:
ifconfig eth1 | sed 's|.*RX bytes:\([0-9]*\).*|\1|g'
Я получаю этот вывод:
eth1 Link encap:Ethernet HWaddr 00:00:00:09:15:f7
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::92e2:baff:fe08:35c7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:75141 errors:0 dropped:0 overruns:0 frame:0
TX packets:78046 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
9040627
Но меня интересует только '9040627'. Есть ли способ сделать это с помощью sed, или я должен использовать awk или другие альтернативы?
Редактировать: я использую двоичные файлы busybox, поэтому мои возможности ограничены.