有時候常常需要寫一些工具來執行一些簡單的動作,這種情況我通常會用 shell script 來做。
最近遇到一個問題,有一個字串內容是以逗號(或其他字元)分隔,我想要把這個字串分割之後讀入一個陣列,
找了一下,發現 shell script 可以簡單利用 IFS (inter-field separator) 的功能來達成,只要把 delimeter assign 給 IFS 這個變數,並且 export 即可。
1 2 3 4 5 6 7 8 9 10 |
#!/bin/bash IFS="," export IFS; words="Orz,OGC,Otz,O-(" for word in $words; do echo "$word" |
利用這個功能,可以很容易的把一個字串分割,並且把分割內容依序填入陣列。
印出來的結果就是
1 2 3 4 5 6 7 |
roga@wifi-post-auth-client-115-247:~/test$ ./split.sh Orz OGC Otz O-( |