我在文件中有一个字符串:Gatto piu bello anche cane
。我使用awk分割它并将其放入数组。但输出的顺序不正确。
我的代码是:
while (getline < "'"$INPUTFILE"'") {
text = $0;
}
split (text,text_arr," ");
for (i in text_arr) {
print text_arr[i];
}
$INPUTFILE
是包含该字符串的文件。
但是这段代码的输出是:
anche
cane
Gatto
piu
bello
我不知道这是什么问题。
答案 0 :(得分:7)
awk
实际上没有索引数组;它只有关联数组。这意味着您无法以保证的顺序迭代密钥。但是,split
确实承诺它填充的数组将使用数字1到n
作为键。这意味着您可以迭代正确的数值范围,并使用它们来索引数组。
for (i=1; i<=length(text_arr); i++) {
print text_arr[i];
}