从文本文件中提取多行来bash变量

时间:2017-06-14 19:52:46

标签: bash

这可能会被标记为重复,但在阅读了几篇帖子之后,我仍然无法使我的bash脚本正常工作。 我有一个包含多行的文本文件;每行只有1个字符串。我想将内容导入bash变量,例如每行是一个单独的元素。 因此,作为示例,如果MYVAR是提到的变量,我希望能够按其位置访问任何元素,例如:

for i in $(seq 0 2)
do
        echo ${MYVAR[$i]}
done

上面只是一个例子;我不需要for循环,这就是为什么我没有使用while read LINE策略。 我尝试了几种方法,但文件仍然被导入为1长字符串,其中包含整个内容。希望我的目的很明确,我感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

仅将IFS更改为换行符,并使用():

将文件读入数组
OFS=$IFS
IFS=$'\n'
MYVAR=($(<myfilename.txt))
for i in $(seq 0 2)
do
        echo ${MYVAR[$i]}
done
# setup the IFS to its original value
IFS=$OFS