使用 shell 变量到 select awk 列标识符

Using shell variable to select awk column identifier

这个有效:

temp=($(awk -F" "  ' == 84' "".db))

这个没有(fieldnumber 存储我要搜索的列,而 val 存储我要搜索的值):

temp=($(awk -F" " -v column="$""$field_number" -v val="" '{ if(column == val) print [=13=];}' "".db))

我正在尝试根据 shell 脚本中的命令行输入来操作 awk 命令: ./dr.sh cop4342 exam1 84(84 是要搜索的值)(exam1 在 shell 脚本中用于查找列号)

这非常不清楚,但我猜你正在寻找

temp=($(awk -F " " -v column="$field_number" \
            -v val="" '{ if($column == val) print [=10=];}' "".db))

这当然可以简化为

temp=($(awk -v column="$field_number" \
            -v val="" '$column == val' "".db))