当前位置: 技术问答>linux和unix
awk数组问题
来源: 互联网 发布时间:2017-03-13
本文导语: #!/bin/awk -f BEGIN{ record="123#456#789#abc#def#gh#A#B#C#D"; split(record,tarray,"#") } END { for (i in tarray) { print tarray[i] } } 执行程序输出如下: awktest.awk /dev/null abc def gh A B C D 123 456 789 ...
#!/bin/awk -f
BEGIN{
record="123#456#789#abc#def#gh#A#B#C#D";
split(record,tarray,"#")
}
END {
for (i in tarray) { print tarray[i] }
}
执行程序输出如下:
awktest.awk /dev/null
abc
def
gh
A
B
C
D
123
456
789
请教为什么输出数组的前3个元素,放到最后。而不是最前?
BEGIN{
record="123#456#789#abc#def#gh#A#B#C#D";
split(record,tarray,"#")
}
END {
for (i in tarray) { print tarray[i] }
}
执行程序输出如下:
awktest.awk /dev/null
abc
def
gh
A
B
C
D
123
456
789
请教为什么输出数组的前3个元素,放到最后。而不是最前?
|
貌似awk中使用for ( i in array)这种方式遍历数组, 采用的是乱序方式 不确定顺序的
可做如下修改
可做如下修改
#!/bin/awk -f
BEGIN{
record="123#456#789#abc#def#gh#A#B#C#D";
split(record,tarray,"#")
}
END {
for (i=1;i