我很困惑。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解決方案 - 甚至可以測試。只是說:) –