我正在尝试从文件中读取文本,然后将其放入按空格分割的数组中。我一直在尝试在线关注示例,但我的字符串似乎仍然无法正确分割到数组中。
nameList=$(cat "test.txt")
echo $nameList
array=($nameList)
echo $array
echo $array[1]
只返回结果
this is a test
this
this[1]
正如您所看到的,只有第一个单词被变量数组捕获。
非常感谢任何建议。
答案 0 :(得分:0)
只读一行,按空格分割:
read -r -a array <test.txt
...或者直到文件中的第一个NUL或其末尾读取:
read -r -d '' -a array <test.txt
访问该数组的元素:
echo "${array[1]}"
...或更好(即使在cases where the specification for echo
is ambiguous中也可以正常运行,例如,如果您的单词是-n
或包含反斜杠文字):
printf '%s\n' "${array[1]}"