我有一条短信:

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/

10-12 20:27