【发布时间】:2012-04-16 03:25:41
【问题描述】:
我正在尝试使用 sed 解析 ifconfig 输出中的一些数据,但我无法正确执行。我希望该命令仅提取我所追求的数字。
例如,我有兴趣提取发送的字节:
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二进制文件,所以我的选择有限。
【问题讨论】:
标签: linux parsing sed awk ifconfig