2011-08-16 12 views
2

シェルスクリプトで文字列をどのようにトークン化するのですか?
たとえば、与えられた文字列 "a:b:c"と区切り文字 ":"を返す場合は、javaのStringTokenizerに相当します。シェルスクリプトで文字列をトークン化する

+0

何シェル? bash? –

+2

http://stackoverflow.com/questions/918886/split-string-based-on-delimiter-in-bash –

+0

@アンダーズリンダール:はいbashは大丈夫 – user881480

答えて

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]} 
+0

'read -a ..の代わりに'、' array =($ var) 'と言うこともできます –

0
echo "a:b:c" | awk -F":" '{print "{"$1",",$2",",$3"}"}' 
関連する問題