Linux将文本附加到ifstat输出

问题描述 投票:0回答:2

我正在尝试将文本附加到来自ifstat Linux实用程序的每一行。示例:

ifstat -t -w -i eth0

输出:

HH:MM:SS   KB/s in  KB/s out
01:37:55   0.09     0.30
01:37:56   0.09     0.13

我想在另一行后面附加另一个命令的输出:

ethtool eth0 | grep "Speed"

这样结果输出将如下所示:

01:37:55      0.09      0.30   Speed: 100Mb/s
01:37:56      0.04      0.13   Speed: 100Mb/s

我尝试使用sed命令,但没有明显结果。

linux bash append
2个回答
0
投票
处理替换和pastesed

paste -d ' ' <(ifstat ... | tail -n+2 ) <(ethtool ... | sed '/Speed/p')


0
投票
类似的事情似乎起作用:

#!/bin/bash # File name: combine.sh timeout "10s" ifstat -t -w -i eth0 | while read line; do SPEED=$(sudo ethtool eth0 | sed -n '/Speed/p' ) echo "$line" "$SPEED" done

输出需要工作,但大致可以满足您的要求。

$ /bin/bash /tmp/combine.sh Time enp0s31f6 Speed: 1000Mb/s HH:MM:SS KB/s in KB/s out Speed: 1000Mb/s 02:44:45 3.07 4.99 Speed: 1000Mb/s 02:44:46 2.19 1.06 Speed: 1000Mb/s 02:44:47 1.12 0.88 Speed: 1000Mb/s

如果要持续一分钟而不是10秒,请将"10s"调整为"60s"
© www.soinside.com 2019 - 2024. All rights reserved.