Member 13763555 Ответов: 1

Нужно разбить переменную и сохранить ее в массиве


когда я пытаюсь получить доступ к данным из XML файла с помощью следующего cmd он дает данные из всех соответствующих тегов

Что я уже пробовал:

$ path="$(echo "cat /config/SourceFolder/FileSetFolder/Path/text()" | xmllint --nocdata --shell real.xml | sed '1d;$d')"

выход= rep - - - - - - - zip - - - - - - - mnt - - - - - - - mnt ------- 952230

Мне нужно сохранить каждый тип файла в выводе в массиве. На русский

ожидаемые результаты пути=(рэп,молния,МНТ,МНТ,952230) как массив

1 Ответов

Рейтинг:
0

Jochen Arndt

Вы можете использовать for цикл для разделения строки на пробелы и игнорирования совпадений" - - - - - - -":

#!/bin/bash

data="rep ------- zip ------- mnt ------- mnt ------- 952230"

declare -a arr
count=0
for i in $data; do
    if [ "$i" != "-------" ]; then
        arr[count]=$i
        count=$count+1
    fi
done
# Print the array content
echo ${arr[*]}
Обратите внимание, что я использовал $data как имя переменной, потому что $PATH является предопределенным удар переменная.