【发布时间】:2014-07-11 17:49:59
【问题描述】:
我想将用户的输入存储在 AWK 语句内的数组中,然后在 AWK 语句外显示该数组的元素。 问题是我无法在 AWK 之外显示数组元素 这是代码:
declare -a data
awk -F" " '
BEGIN{
cmd="read a; echo $a"
}
{
i=1;
NR==1;
while(i<=NF)
{
print $i
printf "Please Enter " $i ": "
cmd|getline input
close(cmd)
**data[$i]=input**
print data[$i]
print $i,NF
i++
}
}
' basic_data
#Here I want to display array elements but i get nothing:
echo ${data[@]}
感谢您的支持 在此先感谢:)
【问题讨论】:
-
Bash 和 awk 是不同的进程。他们不可能访问和修改彼此的数据。
-
basic_data中有什么内容? -
看起来您对 shell 和 awk 的用途非常困惑,因为您尝试将 awk 用于应该使用 shell 的事情,然后尝试在 awk 中填充 shell 数据结构脚本。如果您告诉我们您要做什么会更好,并带有示例输入/输出,这样我们就可以为您指明正确的方向。
-
亲爱的,我要做的是让用户根据存储在“basic_data”文件中的字段插入数据,例如,存储在基本数据文件中的数据是 Id 和 Name 所以t'm使用条件为“NR=1”的 AWK 获取字段,然后让用户根据它们插入数据并将它们存储在一个数组中,以便我可以对它们进行一些验证。希望现在我们在同一页面上:) .... 谢谢