我正在尝试将文本附加到来自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命令,但没有明显结果。
paste
加sed
paste -d ' ' <(ifstat ... | tail -n+2 ) <(ethtool ... | sed '/Speed/p')
#!/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"
。