tôi phải chia một chuỗi trong một kịch bản bash bằng "/" nhưng tôi đã cố gắng:Làm thế nào để chia một chuỗi trong bash giới hạn bởi/
for i in $(echo $www | tr "/")
Nhưng nó đã không làm việc, bất cứ đề nghị?
Cảm ơn rất nhiều.
tôi phải chia một chuỗi trong một kịch bản bash bằng "/" nhưng tôi đã cố gắng:Làm thế nào để chia một chuỗi trong bash giới hạn bởi/
for i in $(echo $www | tr "/")
Nhưng nó đã không làm việc, bất cứ đề nghị?
Cảm ơn rất nhiều.
$ IFS=/ read -a foo <<< 'abc def/ghi/jkl'
$ echo "${foo[0]}*${foo[1]}*${foo[2]}"
abc def*ghi*jkl
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
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
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. –
['IFS =/foo = ($ www)'] (http://ideone.com/MWWTMi) cũng hoạt động – jfs