Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 21.08.2018
Сообщений: 6

Как добавить строку один раз в XML файл shell

21.08.2018, 17:06. Показов 2090. Ответов 9

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Помогите сдвинуться с мёртвой точки.

Есть xml скрипт типа:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<test1>
...
...
...
</test1>
<test2>
...
...
...
</test2>
<test1>
...
...
...
</test1>
Нужно вставить через shell script в <test1> ещё одну строку.

Я уже написал вот это:
Bash
1
2
CONTENT='<test3>\test</test3>'
sed -i.bak '/<\/test1>/ i \'$CONTENT'' test.xml
этот скрипт добавляет строку, но под всеми тегами <test1>,а нужно только под одним.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.08.2018, 17:06
Ответы с готовыми решениями:

Добавить строку между тэгами в xml файл
Здравствуйте! Есть xml файл формата: &lt;ex1&gt; .. &lt;/ex1&gt; &lt;ex2&gt; .. &lt;/ex2&gt; ... ...

Как один xml файл переобразовать в другой xml
Здравствуйте, поставщик высылает нам вот такой прайс в xml формате: ...

Как добавить данные в xml-файл, используя пространство имен System.Xml.Linq
Допустим, есть файл xml, я его взял из этого треда: https://www.cyberforum.ru/vb-net/thread335207.html &lt;?xml version=&quot;1.0&quot;...

9
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
21.08.2018, 19:20
Лучший ответ Сообщение было отмечено oneearjoe как решение

Решение

Bash
1
2
3
4
5
6
7
sed "
    \|</test1>|! b
    i$CONTENT
    :1
    n
    $! b1
    "
1
0 / 0 / 0
Регистрация: 21.08.2018
Сообщений: 6
22.08.2018, 09:44  [ТС]
Спасибо, помогло. Можете рассказать как работает Ваш скрипт?
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.08.2018, 15:26
Что именно непонятно. (на вариант "все!" можете даже не рассчитывать)
0
0 / 0 / 0
Регистрация: 21.08.2018
Сообщений: 6
22.08.2018, 15:29  [ТС]
Хочу разобраться в Вашем скрипте что бы в дальнейшем его изменить и применить еще где-то. Если Вас не затруднит объясните что происходит начиная с 4 строки скрипта?
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.08.2018, 15:32
Может Вам все же стоит начать с
Bash
1
man sed
чтобы не спрашивать элементарщину?
0
0 / 0 / 0
Регистрация: 21.08.2018
Сообщений: 6
22.08.2018, 15:36  [ТС]
Для Вас может быть это и элементарно, но для меня нет, на просторах интернета такой связки я не встречал, поэтому и надеюсь что Вы как знающий человек объясните хотя бы 4 этих пункта.
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.08.2018, 17:01
При чем тут "просторы интернета"? Что такое ":" вы понимаете?
0
0 / 0 / 0
Регистрация: 21.08.2018
Сообщений: 6
22.08.2018, 17:11  [ТС]
Нет, у меня нет понимания что это такое, поэтому я и попросил Вас объяснить мне что происходит. Я не хочу просто копировать команды, я хочу понимать как они работают.
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.08.2018, 17:29
Цитата Сообщение от oneearjoe Посмотреть сообщение
у меня нет понимания что это такое
Поэтому и было предложено
Цитата Сообщение от Marinero Посмотреть сообщение
стоит начать с
Bash
1
man sed
Когда узнаете что означает каждая команда - меньше будет вопросов и понятнее объяснения.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.08.2018, 17:29
Помогаю со студенческими работами здесь

Может ли js добавить элемент в файл XML так, чтобы он записался в сам XML-файл?
Всем привет! Подскажите, может ли как-то javascript добавить элемент в файл XML так, чтобы он записался в сам XML-файл?

Как добавить один файл в главный файл
Я пишу консольную программу на C#. В главном файле (имя Program.cs)есть функция Main(string args). В этом файле я caм написал функцию,...

Как добавить возможность несколько раз вводить в строку консоли?
Привет ребята, я начинающий программист, помогите пожалуйста мне. Как добавить возможность несколько раз вводить в строку консоли? ...

Как добавить данные в xml файл?
Мой код не работает, может кто знает как добавить данные в xml document? File fXmlFile = new File(&quot;Test.xml&quot;); ...

Как добавить данные в XML файл
Добрый вечер. В программировании достаточно недавно и столкнулся с таким вопросом, может он конечно элементарный, но вразумительного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru