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.
            Asked
            
        
        
            Active
            
        
            Viewed 1.2k times
        
    3
            
            
         
    
    
        user881480
        
- 5,005
- 6
- 32
- 31
- 
                    2http://stackoverflow.com/questions/918886/split-string-based-on-delimiter-in-bash – Anders Lindahl Aug 16 '11 at 06:11
- 
                    @Anders Lindahl: yes bash is ok – user881480 Aug 16 '11 at 06:14
- 
                    excellent link, elegant answer – user881480 Aug 16 '11 at 09:43
2 Answers
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
