使用Bash使用IFS分割字符串?

时间:2019-12-16 15:32:16

标签: linux bash split ifs

我有一个像这样的字符串:

Spain-South Africa:2-1

我想将其拆分为:

Spain-South Africa
2-1

我尝试将其除以IFS=':',但它给了我:

Spain-South

Africa
2-1

我的代码:

code

1 个答案:

答案 0 :(得分:1)

无法复制,但是您可能没有为IFS命令正确设置read,或者您没有正确显示输出。

$ str="Spain-South Africa:2-1"
$ IFS=: read -ra results <<< "$str"
$ declare -p results
declare -a results=([0]="Spain-South Africa" [1]="2-1")

根据您的短暂评论,您想要类似

while IFS=: read -ra results; do
    ...
done < "$1"

而不是

for str in $(cat "$1"); do
    ...
done