模板文件内容(template.txt):
[Load]
<CPU-ALL>
<CPU-0>
<CPU-1>
<CPU-2>
<CPU-3>
mpstat -P ALL | awk '$12 ~ /[0-9.]+/ { print 100 - $12 }'
命令将在连续的行中给出每一行的结果:
14
13
13
13
17
我的目标是使用一个新文件作为目的地,用相应的数据替换所有的CPU-x
标签(不是覆盖模板):
结果文件(result.txt):
[Load]
<14>
<13>
<13>
<13>
<17>
我只是不知道如何在一个命令中做到这一点,而不是为每个数据替换执行四次mpstat -考虑到它将导致的延迟,这不是一个解决方案。
提前感谢您的帮助!
发布于 2014-05-12 19:24:23
awk 'FNR==NR{a[i++]=$1;next}{if($1~/CPU-ALL|CPU-[0-9]+/) sub(/<CPU-ALL>|<CPU-[0-9]+>/,"<"a[j++]">")}1' <(mpstat -P ALL | awk '$12 ~ /[0-9.]+/ { print 100 - $12 }') template.txt > result.txt
我的模板:
[load]
<CPU-ALL>
<CPU-0>
<CPU-1>
输出:
[load]
<52.3>
<53.69>
<50.92>
https://stackoverflow.com/questions/23606792
复制相似问题