3

how do I tokenize a string in shellscript?
for example: given string "a:b:c" and delimiter ":", I would like to return an array {a,b,c}
it's equivalent to java's StringTokenizer.

user881480
  • 5,005
  • 6
  • 32
  • 31

2 Answers2

3
var="a:b:c"
OLDIFS=$IFS
IFS=":"
read -a array <<< "$(printf "%s" "$var")"
IFS=$OLDIFS
echo ${#array[@]}
echo ${array[0]}
echo ${array[1]}
echo ${array[2]}
glenn jackman
  • 238,783
  • 38
  • 220
  • 352
jfg956
  • 16,077
  • 4
  • 26
  • 34
2
echo "a:b:c" | awk -F":" '{print "{"$1",",$2",",$3"}"}'
Anton R
  • 519
  • 1
  • 6
  • 14