2012-02-28 18 views

Trả lời

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

Thiết IFS là cách tốt nhất để đi. Tất nhiên tôi nghi ngờ '$ www' sẽ không có không gian mà là'% 20 '. Đừng quên 'unset IFS' ở cuối! Cũng sẽ làm việc với 'IFS =/for i trong $ www; làm ...; làm xong ; unset IFS' – Benoit

+1

Bạn không cần phải bỏ đặt '$ IFS' ở cuối vì ký hiệu này sẽ chỉ thiết lập nó trong suốt thời gian của lệnh. –

+1

['IFS =/foo = ($ www)'] (http://ideone.com/MWWTMi) cũng hoạt động – jfs

3

lừa của bạn sẽ làm việc, nếu bạn muốn nói tr, những gì slash nên được dịch ra tiếng:

for w in $(echo "what/the/heck" | tr "/" " ") ; do echo $w; done 
what 
the 
heck 
Các vấn đề liên quan