我有一条短信:
root@AngelBeats:~# ifconfig 3g-3g
3g-3g Link encap:Point-to-Point Protocol
inet addr:10.134.109.45 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:13416 errors:1018 dropped:0 overruns:0 frame:0
TX packets:11517 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:6614985 (6.3 MiB) TX bytes:2788421 (2.6 MiB)
我只想打印这些文本“ 6614985”和“ 2788421”(最后一行),我已经尝试了以下命令:
ifconfig 3g-3g | awk -F[\(\)] '/bytes/ {printf "%s",$2}'
ifconfig 3g-3g | awk -F[\(\)] '/bytes/ {printf "%s",$4}'
但是,第一个命令打印
6.3 MiB
,第二个命令打印2.6 MiB
我怎么只获取字节?请注意,当我浏览互联网时,字节数一直在变化。 最佳答案
使用':'作为字段分隔符可以解决问题
ifconfig 3g-3g | awk -F[:\(] '/bytes/ {printf "%s",$2}'
ifconfig 3g-3g | awk -F[:\(] '/bytes/ {printf "%s",$4}'
关于linux - Linux awk打印某些文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27998631/