当在awk命令中使用变量或数组索引时,如果超出了已分配的范围,就会出现AWK错误“argument is out of the range”。为了解决这个问题,可以采取以下步骤:
检查变量或数组索引是否超出范围,确保它们符合预期的值。
使用条件语句避免超出范围的情况。例如:
awk '{if (i >= 1 && i <= NF) print $i}' file.txt
awk '{if (i in a) print a[i]}' file.txt
awk 'BEGIN{FS="\t";a[0]=1;for(i=1;i 注意:当在awk命令中使用变量或数组索引时,必须确保它们是整数值。这可以通过使用int()函数将它们转换为整数来实现,例如: awk '{i=int($1);if (i >= 1 && i <= NF) print $i}' file.txt