gpt4 book ai didi

linux - 加入并处理来自 top 命令输出的两行

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:09:52 25 4
gpt4 key购买 nike

我想加入并处理来自 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

最佳答案

试试这个:

command | sed -n "N;s/top - /Time: /;s/up.*\n//;p" 

首先它读取第二行,然后将“top -”替换为“Time:”,最后删除从第一个换行符开始的所有内容。

输出:

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

编辑:

试试这个:

top -p 1 -b -d 1 | awk '
/^top/{a=$0}
/^Cpu/{
sub(/top - /,"Time:",a);
sub(/up.*$/,"",a);
printf "%s %s\n",a,$0;a=""}'

关于linux - 加入并处理来自 top 命令输出的两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7909695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com