使用 Bash 使用 IFS 拆分字符串?
Split string with IFS using Bash?
我有一个像这样的字符串:
Spain-South Africa:2-1
我想像这样拆分它:
Spain-South Africa
2-1
我试图用 IFS=':'
拆分它,但它给了我:
Spain-South
Africa
2-1
我的代码:
无法重现,但您可能没有为 read
命令正确设置 IFS
,或者您没有正确显示输出。
$ 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 < ""
而不是
for str in $(cat ""); do
...
done
我有一个像这样的字符串:
Spain-South Africa:2-1
我想像这样拆分它:
Spain-South Africa
2-1
我试图用 IFS=':'
拆分它,但它给了我:
Spain-South
Africa
2-1
我的代码:
无法重现,但您可能没有为 read
命令正确设置 IFS
,或者您没有正确显示输出。
$ 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 < ""
而不是
for str in $(cat ""); do
...
done