次のテストスクリプトがあります
/^[^a-zA-Z0-9]/ {
DATEd[$3] = $1
}
END {
print " \"data\": ["
for (i = 0 ; i <= 5; i ++ ) {
{ print " [" i ", \"" DATEd[i] "\"],"}
}
print " ]"
}
そして、このテキストファイルから読んでいます
2011-01-22 22:12 P16A22_110114072915 22 1312 75 13.55 1399
2011-01-22 22:12 P16A22_110114072915 22 1312 75 13.55 1399
2011-01-22 22:12 P16A22_110114072915 22 1312 75 13.55 1399
2011-01-22 22:12 P16A22_110114072915 22 1312 75 13.55 1399
2011-01-22 22:12 P16A22_110114072915 22 1312 75 13.55 1399
2011-01-22 22:12 P16A22_110114072915 22 1312 75 13.55 1399
しかし、それは私が望むものを印刷しません、私はそれを印刷したいです
"data": [
[0, "2011-01-22"],
[1, "2011-01-22"],
[2, "2011-01-22"],
[3, "2011-01-22"],
[4, "2011-01-22"],
[5, "2011-01-22"],
]
実際に印刷するだけの場合
"data": [
[0, ""],
[1, ""],
[2, ""],
[3, ""],
[4, ""],
[5, ""],
]
では、なぜ "DATEd[$3] = $1" は空なのでしょうか?
また、配列の長さを確認するにはどうすればよいですか? この場合、DATEd.length は機能しません。
ありがとう
編集_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
@Fredrikと@geekosaurの助けを借りて、私はこれでどこかに行きました。今、いくつかの最後の質問に行きます
1) スクリプトは次のようになります
/[a-zA-Z0-9]/ {
DATEd[NR-1] = $1
}
END {
print " \"data\": ["
for (i in DATEd) {
{ print " [" i ", \"" DATEd[i] "\"],"}
}
print " ]"
}
そして、次の出力が得られます
"data": [
[4, "2011-01-26"],
[5, "2011-01-27"],
[6, "2011-01-28"],
[0, "2011-01-22"],
[1, "2011-01-23"],
[2, "2011-01-24"],
[3, "2011-01-25"],
]
でもこんな感じにしたい
"data": [
[0, "2011-01-22"],
[1, "2011-01-23"],
[2, "2011-01-24"],
[3, "2011-01-25"],
[4, "2011-01-26"],
[5, "2011-01-27"],
[6, "2011-01-28"]
]
IE はソートされ、最後の終了文字「]」の前の最後の「,」文字が削除されます。これは簡単に達成できますか?=)
ありがとう =)
編集3最終結果_ _ _ _ _ _ _ _ _ _ __ _ _ __ _ _ _ _ __ _ ____
@geekosaur と @Fredrik の貢献の組み合わせを使用 =)
{
DATEd[NR-1] = $1; len++
}
END {
print " \"data\": ["
#for (i in DATEd) {
for (i = 0 ; i <= len-1; i ++ ) {
{ print " [" i ", \"" DATEd[i] "\"],"}
}
print " ]"
}