两行我想加盟和处理两条线出来top命令:加入和工艺从top命令输出
shell> top -p 1 -b -d 1 | egrep '^top|^Cpu'
top - 15:17:45 up 736 days, 4:32, 3 users, load average: 0.06, 0.03, 0.00
Cpu(s): 0.7% us, 0.8% sy, 0.0% ni, 97.1% id, 1.3% wa, 0.0% hi, 0.0% si
当试图用awk和sed命令,我遇到了麻烦 - 没有产出。什么命令我会用得到的输出看起来像这样:
Time: 15:17:45 Cpu(s): 0.7% us, 0.8% sy, 0.0% ni, 97.1% id, 1.3% wa, 0.0% hi, 0.0% si
下面是一段代码,可能是有用的:
shell> echo 'top - 15:17:45 up 736 days, 4:32, 3 users, load average: 0.06, 0.03, 0.00' | awk -F' up' '/^top/ {print "Time: " $1}' | sed 's/top - //'
Time: 15:17:45
您的命令最初也没有产生任何输出。我了解到输出是在填充了一定数量的缓冲区后写入的。有没有办法控制sed的缓冲时间或行数,所以输出更经常打印? – dabest1
看到我编辑的答案。这应该工作。 – Chris
谢谢@Chris。它通过awk命令在没有延迟的情况下显示到屏幕上,但是当我输出到文件并拖放它时,它仍然不会一次输出一行。这不是那么重要,但我仍然很好奇导致缓冲的原因以及如何避免它。 – dabest1