LINUX.ORG.RU

Как разбить строку по какому-нибудь символу

 


1

4

Есть строка:

str="1-2-3-4-5-6-7"
Хочу разбить строку по "-" при этом, я предполагаю, что в результате получится массив. Делаю так:
IFS="-" read -ra arr <<< ${str[@]}
Затем:
str_len=${#arr[@]}
Итого: str_len = 1 Вопрос: Что я делаю не так?


read -a arr <<< $(echo $str | tr '-' ' ')
Spoofing ★★★★★
()

str=«1-2-3-4-5-6-7»
IFS="-" read -ra arr <<< ${str[@]}

str это же не массив, вот так работает:

IFS="-" read -ra arr <<<"$str"

anonymous
()

Не понял в чем проблема собственно

$ str="1-2-3-4-5-6-7"
$ IFS='-' a=($str)
$ echo ${#a[@]}
7

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.