2012-02-28 61 views

回答

10
$ IFS=/ read -a foo <<< 'abc def/ghi/jkl' 
$ echo "${foo[0]}*${foo[1]}*${foo[2]}" 
abc def*ghi*jkl 
+0

設置IFS是最好的一段路要走。當然我懷疑'$ www'不會有空格,而是'%20's。不要忘記'未設置IFS'!也可以在$ www中使用IFS =/for i;做...;完成;未設置IFS' – Benoit 2012-02-28 10:10:29

+1

您不需要在末尾取消設置'$ IFS',因爲此標記只會在命令持續時間內進行設置。 – 2012-02-28 10:14:34

+1

['IFS =/foo =($ www)'](http://ideone.com/MWWTMi)也適用 – jfs 2017-07-16 12:17:30

3

你的伎倆將工作,如果你能告訴tr,什麼斜線應翻譯成:

for w in $(echo "what/the/heck" | tr "/" " ") ; do echo $w; done 
what 
the 
heck