我想使用列实用程序来格式化对齐列中iostat的输出。
我想运行类似的东西:
vmstat 1 10 | column -t
但输出仅在10秒后出现(vmstat完成其工作),而不是每秒。
有什么想法吗?
答案 0 :(得分:3)
发生这种情况的原因是列等待收集尽可能多的输入,以此作为其列猜测的基础。它无法知道数据模式每秒都会重复。
您可以通过运行此操作来估算您要执行的操作:
for i in 0 1 2 3 4 5 6 7 8 9; do iostat | column -t; sleep 1; done
修改强>
感谢丹尼斯的一些建议:
for i in {0..9} ; do iostat 1 1 | column -t; sleep 1; done
与原版的唯一区别是第一个标题行每秒重复一次。 sed
或grep
的一些步法可以解决这个问题。
答案 1 :(得分:2)
尝试一下:
vmstat -w 1 5
这在vm中可以正常工作,但是在物理机中具有很大的性能时,cpu的列可能看起来不如在vm中好。
答案 2 :(得分:0)
我认为这是你想要完成的事情:
vmstat 1 10 | while read line
do
echo "$line" | column -t
done
答案 3 :(得分:-1)
试试这个
vmstat 1 10 >> /tmp/vmout.txt; tail -f /tmp/vmout.txt