Я признаю, что я новичок в сценарии bash, но не могу понять, как выполнить ключевой шаг в скрипте и не мог найти, что Я искал в других потоках.Добавить данные в конец определенной строки в текстовом файле
Я пытаюсь извлечь некоторые конкретные данные (числовые значения) из нескольких XML-файлов и добавить их в текстовый файл с разделителем пробела или табуляции. Файлы будут генерироваться с течением времени, поэтому мне нужно добавить новый набор данных в уже существующий текстовый файл.
Например, я хотел бы извлечь значения для трех разных категорий: 1 для каждой строки или столбца и значения для каждой категории из нескольких xml-файлов. В принципе, я хочу построить непрерывный график данных из каждой из трех категорий с течением времени.
У меня есть следующий код, который будет успешно извлечь 3 номера из файла XML и обрезать ненужный текст:
#!/bin/sh
grep "<observation name=\"meanGhost\" type=\"float\">" "/Users/Erik/MRI/PHANTOM/2/phantom_qa/summaryQA.xml" \
| sed 's/<observation name=\"meanGhost\" type=\"float\">//g' \
| sed 's/<\/observation>//g' >> $HOME/Desktop/testxml.txt
grep "<observation name=\"meanBrightGhost\" type=\"float\">" "/Users/Erik/MRI/PHANTOM/2/phantom_qa/summaryQA.xml" \
| sed 's/<observation name=\"meanBrightGhost\" type=\"float\">//g' \
| sed 's/<\/observation>//g' >> $HOME/Desktop/testxml.txt
grep "<observation name=\"std\" type=\"float\">" "/Users/Erik/MRI/PHANTOM/2/phantom_qa/summaryQA.xml" \
| sed 's/<observation name=\"std\" type=\"float\">//g' \
| sed 's/<\/observation>//g' >> $HOME/Desktop/testxml.txt
Это дает выход:
1,12
0,33
134.1
Я хотел бы, чтобы потом прочитать в другом файле XML, чтобы получить:
1,12 1,45
0,33 0,54
134,1 144,1
Я был бы признателен за любую помощь с этим! Заранее спасибо.
Эрик