awk命令堆栈在顶部

时间:2013-07-10 11:20:32

标签: bash shell awk

total_pool=1
2
3
4
.
.
.

上面是我的变量名“total_pool”,它在单个列中具有数千个值。并且在每次触发此脚本之前它会不断变化。 我想在循环中解析它的每个单个实体.. 问题是这个脚本每5分钟从一个crontab运行一次.. 并且在我的top命令输出中有时候这个查询堆栈! 喜欢/bin/awk -vRS= -vFS="\n" "{print $1}很长一段时间.. 如何阻止这种行为?更好的approch? 注意:我不能使用数组,因为我有太旧的bash版本。它没有阵列支持。 那么从列变量中逐个grep数据的任何更好的方法是什么?

#!/bin/sh
row=1
for POOL in ${total_pool} ;
do
        poolid=$(/bin/echo "$total_pool" | /bin/awk -vRS= -vFS="\n" "{print \$$row}"
        /usr/local/rrd/bin/rrdtool update /var/graphs/p${poolid}.rrd `NOW`:$upload
        row=`expr $row + 1`
done

1 个答案:

答案 0 :(得分:1)

听起来像echo's standard output is being buffered。如果stdbuf from coreutils是一个选项,您可能希望使用它来禁用echo的输出缓冲。