Echo bash变量通过分隔符

时间:2014-04-25 18:49:33

标签: bash

我发誓前几天我遇到过这样做的方法,但是不记得了:

a="blah,test"
echo ${a[,1]}
blah

基本上,它似乎是在数组中设置分隔符,并指定要使用的变量的哪个部分。与awk中的基本相同:

echo $a | awk -F "," '{print $1}'

我服用疯狂的药片,还是这样的?我需要这个,因为我在句子中间回显变量中的文本,需要选择要使用的部分。

1 个答案:

答案 0 :(得分:4)

a="blah,test"
IFS=',' read -a array <<< "$a"
echo "${array[1]}"

IFS是输入字段分隔符,read使用它将该行拆分为单词,请参阅here。将-a个字分配给数组的顺序索引。 <<< $a导致read展开并提供给{{1}}命令。