У меня есть XML файл в формате:
<classes>
<subject>
<name>Operating System</name>
<credit>3</credit>
<type>Theory + Lab</type>
<faculty>Prof. XYZ</faculty>
</subject>
<subject>
<name>Web Development</name>
<credit>3</credit>
<type>Only Lab</type>
</subject>
</classes>
Ожидаемый вывод:
index 0 : Operating System
index 1 : 3
index 2 : Theory + Lab
index 3 : Prof. XYZ
index 4 : Web Development
index 5 : 3
index 6 : Only Lab
Я пытался использовать команду sed
, но команда не сохраняет результат в желаемом формате.
Команда:
declare -a totalArray=($(sed -n '/\s*<subject>/,/<\/subject>/p' file.xml | sed -e 's/<[^>]*>//g' -e '/^\s*$/d' -e 's/\s*//g'))
И когда я печатаю элементы массива, я получаю результаты как:
index 0 : OperatingSystem
index 1 : 3
index 2 : Theory+Lab
index 3 : Prof.XYZ
index 4 : WebDevelopment
index 5 : 3
index 6 : OnlyLab
Мне нужны предложения о том, как добавить пробелы между двумя словами.