Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何在BASH中创建n个变量?_Arrays_Linux_Bash_Variables_Csv - Fatal编程技术网

Arrays 如何在BASH中创建n个变量?

Arrays 如何在BASH中创建n个变量?,arrays,linux,bash,variables,csv,Arrays,Linux,Bash,Variables,Csv,我正在尝试在bash中创建n个变量…理想情况下是一个包含这n个变量的数组,以便稍后我可以遍历并将它们分配给从csv文件中读取的列。我想我只是把自己弄糊涂了。非常感谢您的帮助 在bash中,从CSV文件中读取一行并将其放入数组的最简单方法是: IFS=, read -r -a ARRAY < filename 这不是一种非常健壮的技术,因为它不适用于带引号的字段,特别是不适用于带引号的字段中嵌入的逗号。大多数语言都有CSV解析库;如果您熟悉Python,它可能是一个不错的选择。听起来您需要

我正在尝试在bash中创建n个变量…理想情况下是一个包含这n个变量的数组,以便稍后我可以遍历并将它们分配给从csv文件中读取的列。我想我只是把自己弄糊涂了。非常感谢您的帮助

在bash中,从CSV文件中读取一行并将其放入数组的最简单方法是:

IFS=, read -r -a ARRAY < filename

这不是一种非常健壮的技术,因为它不适用于带引号的字段,特别是不适用于带引号的字段中嵌入的逗号。大多数语言都有CSV解析库;如果您熟悉Python,它可能是一个不错的选择。

听起来您需要的是一个数组。在BASH文档中查找标题为“数组”的部分。考虑用一个小的测试用例来扩展您的问题,包括预期的输入类型(每一行1-2行)和预期输出。否则,我们真的要和你玩20个问题,这只是受虐狂的乐趣;-)。祝你好运。要回答你的问题,你可以用
myarray=({1..10})
创建一个包含10个元素的数组。不幸的是,这无助于以任何方式读取CSV文件。如果这是你想要的,你应该搜索或询问。
while IFS=, read -r -a ARRAY; do
  # do something with ARRAY
done < filename