gpt4 book ai didi

mysql - 将每个 mysql 记录(多行)存储为 bash 中的变量

转载 作者:太空宇宙 更新时间:2023-11-04 10:01:46 25 4
gpt4 key购买 nike

我有运行 SQL 查询并输出以下内容的 bash 脚本:

*************************** 1. row ***************************
name: danny
id: 123
age: 1
wait: 326.000000
*************************** 2. row ***************************
name: ronny
id: 1234
age: 2
wait: 21.000000

我试图了解如何创建一个数组并将每条记录存储在其中,对于我希望能够访问其参数的每条记录,例如:

Person1["name"] = danny,  Person2["name"]=ronny

最佳答案

数组的索引必须是数字。但是您可以使用索引代替字段名。变量仅在 block 内是已知的。但是通过一个简单的技巧 (sourcen),您可以将它们带到外面。

# ASSUMPTION: the input data are in the file

Personen=$(mktemp)
i=0
while read line; do
[[ "${line:0:1}" == '*' ]] && continue
key=${line%%:*}
value=${line##*: }
[[ "$key" == "name" ]] && ((i++))
echo "Person_${key}[$i]=\"$value\""
done < file >$Personen

source $Personen

echo "${Person_name[1]} ${Person_age[1]}"
echo "${Person_name[2]} ${Person_wait[2]}"

rm $Personen

输出

danny 1
ronny 21.000000

关于mysql - 将每个 mysql 记录(多行)存储为 bash 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55634170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com