我很困惑。shell脚本列结果列
我有这样一个值输出:
jstat -gc 7110
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
52416.0 52416.0 178.1 0.0 419456.0 261407.3 524288.0 30663.4 50272.0 30745.7 898 10.393 6 0.243 10.636
我已经检索到的每一个关键和价值,而只是想显示类似的结果:
SOC : 52416.0
S1C : 52416.0
帮助!我的代码:
jstat -gc 7110 | tr -s '' | cut -d '' -f 1,14 | while read line
do
#echo $line
lineinfo=(`echo $line | tr -s '' | cut -d '' -f 1,15`)
for ((i=0; i<${#lineinfo[@]}; i++))
do
echo "$i" : ${lineinfo[i]}
printf "%s\n"
done
done
恕我直言,这不是一个bash任务。使用python,ruby或任何其他具有字典/类似地图数据结构的语言。在10行代码之下,可读,可维护,并且 - 不像任何bash解决方案 - 甚至可以测试。只是说:) –