Форум — Development Как разбить строку по какому-нибудь символу bash 1 4 Есть строка: str="1-2-3-4-5-6-7" Хочу разбить строку по "-" при этом, я предполагаю, что в результате получится массив. Делаю так: IFS="-" read -ra arr <<< ${str[@]} Затем: str_len=${#arr[@]} Итого: str_len = 1 Вопрос: Что я делаю не так? Ссылка
str="1-2-3-4-5-6-7" arr=(${str//-/ }) srt_len=${#arr[@]} echo $srt_len 7 hope13 ★★★ (11.12.15 18:03:37 MSK) Последнее исправление: hope13 11.12.15 18:12:57 MSK (всего исправлений: 4) Показать ответ Ссылка
Ответ на: комментарий от hope13 11.12.15 18:03:37 MSK Спасибо! usti (11.12.15 18:35:23 MSK) автор топика Ссылка
str=«1-2-3-4-5-6-7» IFS="-" read -ra arr <<< ${str[@]}str это же не массив, вот так работает: IFS="-" read -ra arr <<<"$str" anonymous (11.12.15 19:30:52 MSK) Ссылка
Не понял в чем проблема собственно $ str="1-2-3-4-5-6-7" $ IFS='-' a=($str) $ echo ${#a[@]} 7 anonymous (11.12.15 19:57:46 MSK) Ссылка