0
我有一个文本文件,它看起来像这样:创建并从文本文件索引的数组
:SomeWord:::SomeOtherWord:::MaybeAnotherWord::
假设我不知道有多少“:”是词或间连一句中有多少是,但每个单词都在“:”之后,我想在Linux终端中使用此文本文件,并将2个局部变量设置为找到的第一个和第二个单词。
我试图从文本文件中创建一个数组,然后抓住0和1索引,但它没有像我想象的那样工作。
~# myarray=$(cat mytextfile.txt | tr ":" "\n")
~# for line in $myarray ; do echo "[$line]"; done
[SomeWord]
[SomeOtherWord]
[MaybeAnotherWord]
OK,看起来像它的工作,但后来当我试图通过索引抢我得到意想不到的效果..
~# echo ${myarray[0]}
SomeWord SomeOtherWord MaybeAnotherWord
~# echo ${myarray[1]}
~#
,如果我分裂文件错了,我不知道吗?
不,它创建一个长度为3的数组试试吧。如果'$()'被引用('“$()”'),那么你会是对的。 – Socowi
我没有引用它。不确定IFS是否导致问题。我在一个新的Bash会话中尝试了你的命令,它工作。编辑你的答案和upvoted。 – codeforester