muszę podzielić ciąg w skrypcie bash przez „/”, ale próbowałem:Jak podzielić ciąg w bash ograniczoną przez/
for i in $(echo $www | tr "/")
Ale to nie działa, jakieś sugestie?
Wielkie dzięki.
muszę podzielić ciąg w skrypcie bash przez „/”, ale próbowałem:Jak podzielić ciąg w bash ograniczoną przez/
for i in $(echo $www | tr "/")
Ale to nie działa, jakieś sugestie?
Wielkie dzięki.
$ IFS=/ read -a foo <<< 'abc def/ghi/jkl'
$ echo "${foo[0]}*${foo[1]}*${foo[2]}"
abc def*ghi*jkl
Twój trik będzie działać, jeśli powiesz tr
, co ukośnik powinny być przetłumaczone na język:
for w in $(echo "what/the/heck" | tr "/" " ") ; do echo $w; done
what
the
heck
Ustawianie IFS jest najlepszym sposobem, aby przejść. Oczywiście podejrzewam, że '$ www' nie będzie zawierać spacji, ale raczej'% 20's. Nie zapomnij o niezresetowaniu IFS na końcu! Będzie także działać z 'IFS =/for i in $ www; robić ... ; Gotowe ; unset IFS' – Benoit
Nie trzeba resetować '$ IFS' na końcu, ponieważ ta notacja ustawi go tylko na czas trwania polecenia. –
[IFS =/foo = ($ www) '] (http://ideone.com/MWWTMi) też działa – jfs