使用 awk 或 sed 等工具从文件输出中提取信息

使用 awk 或 sed 等工具从文件输出中提取信息

我是 bash 脚本编写的新手,我正在尝试制作一个脚本来获取当前的网络并下载。我正在努力了解 awk 或 sed 等工具来提取我需要的信息。

猫 /proc/net/dev

Inter-|   Receive  |  Transmit face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo: 2245514   26732    0    0    0     0          0         0  2245514   26732    0    0    0     0       0
 0
 wlan0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0
 0
  eth0: 501233000800 372656590    0  354    0     0          0    478724 19824791855 194196655    0    0    0     0       0          0

这是我的输出,我需要从 eth0 接收和传输字段,我尝试使用 grep -i eth0 将其固定到只有一行,但在此之后我卡住了。

eth0: 501233200415 372657763    0  356    0     0          0    478834 19825031691 194197387    0    0    0     0       0          0

这就是我已经走了多远,如何提取“501233200415”和“478834”?

答案1

如果您想要的字段始终是第二个和第九个字段(如您的示例中所示,您可以使用:

grep -i eth0 your_file | awk '{print $2, $9}'

相关内容