Преобразовать строку (содержащую строки и целые числа) в целочисленный массив в bash - PullRequest
0 голосов
/ 03 октября 2018

У меня есть строка с разделенными пробелами строками:

line="hello 3] 5c 100 memory"

Я хочу разбить эту строку на целочисленный массив, чтобы следующее:

echo ${arr[0]}
echo ${arr[1]}
echo ${arr[2]}

Выходы 3 5 100

Может кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 03 октября 2018

С расширением параметра Bash's :

line="hello 3] 5c 100 memory"
arr=(${line//[^0-9 ]/})        # replace everything but 0-9 and space with nothing
declare -p arr

Выход:

declare -a arr='([0]="3" [1]="5" [2]="100")'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...