标签: bash
我发誓前几天我遇到过这样做的方法,但是不记得了:
a="blah,test" echo ${a[,1]} blah
基本上,它似乎是在数组中设置分隔符,并指定要使用的变量的哪个部分。与awk中的基本相同:
echo $a | awk -F "," '{print $1}'
我服用疯狂的药片,还是这样的?我需要这个,因为我在句子中间回显变量中的文本,需要选择要使用的部分。
答案 0 :(得分:4)
a="blah,test" IFS=',' read -a array <<< "$a" echo "${array[1]}"
IFS是输入字段分隔符,read使用它将该行拆分为单词,请参阅here。将-a个字分配给数组的顺序索引。 <<< $a导致read展开并提供给{{1}}命令。
IFS
read
-a
<<<
$a