我使用的是bash脚本,出于某些原因,我只能使用bash,不能使用php或perl等等。
我用这段代码从mysql得到了一些结果,并将它们保存在一个名为 result
:
result=$(mysql -NB -u "$mysqlUser" -p"$mysqlPass" -D "$mysqlDb" -e "select * from sites" )
结果是:
1 news.bitcoin.com NULL 840119 stopped 1509636516 1509636688 0 0 0 0
2 blog.blockchain.com NULL NULL stopped NULL 0 0 0 0 0
现在我想逐行解析这个结果,并将每一行转换为一个数组,然后通过以下方式访问它们:
echo $results[0,0] # 1
echo $results[0,3] # 840119
echo $results[0,6] # 1509636688
echo $results[1,1] # blog.blockchain.com
echo $results[1,3] # NULL
echo $results[1,6] # 0
根据这篇文章,我们可以通过像多维的andices来声明数组。
你能帮我解决这个问题吗,或者告诉我其他可能的方法来完成这个任务吗?
提前谢谢
3条答案
按热度按时间cnjp1d6j1#
忽略字段将不匹配的妄想,您可以尝试遍历数据并通过暴力将其分配给并行数组。
请用比a,b,c更好的名字。。。但是,假设字段2是fqdn,您可以说
迅速从那排抢到那块地。整张table马上就可以拿到了…但是一条格式错误的线会击中你的脚。
llycmphe2#
转换您的输出到csv-检查如何以csv格式输出mysql查询结果?一个(不好的)方法是:
然后施展魔法:
最后呢
注意所有双引号和花括号。
多亏了https://stackoverflow.com/a/11393884/2235381 以及https://stackoverflow.com/a/22432604/2235381
dbf7pr2w3#
最后我的问题就这样解决了:
结果: