小编use*_*414的帖子

在Bash中从文本文件创建数组

脚本获取URL,解析所需的字段,并将其输出重定向以保存在文件file.txt中.每次找到字段时,输出都会保存在新行中.

file.txt的

A Cat
A Dog
A Mouse 
etc... 
Run Code Online (Sandbox Code Playgroud)

我想file.txt在一个新脚本中从中创建一个数组,其中每一行都是数组中自己的字符串变量.到目前为止,我尝试过:

#!/bin/bash

filename=file.txt
declare -a myArray
myArray=(`cat "$filename"`)

for (( i = 0 ; i < 9 ; i++))
do
  echo "Element [$i]: ${myArray[$i]}"
done
Run Code Online (Sandbox Code Playgroud)

当我运行这个脚本时,空格导致单词被分割而不是获取

期望的输出

Element [0]: A Cat 
Element [1]: A Dog 
etc... 
Run Code Online (Sandbox Code Playgroud)

我最终得到这个:

实际输出

Element [0]: A 
Element [1]: Cat 
Element [2]: A
Element [3]: Dog 
etc... 
Run Code Online (Sandbox Code Playgroud)

如何调整下面的循环,使每行上的整个字符串与数组中的每个变量一一对应?

arrays bash scripting loops variable-assignment

71
推荐指数
5
解决办法
8万
查看次数

标签 统计

arrays ×1

bash ×1

loops ×1

scripting ×1

variable-assignment ×1