ОБНОВЛЕНИЕ 2 Я думаю, мне нужно что-то простое, как это:
Регулярное выражение с отрицательным прогнозом в нескольких строках
получение первого, где оно не предшествуетпо родителю я пробовал это без успеха
((?<![<parent>]))<version>.*
или это, но все же он захватывает все версии:
(?<!^<parent>)<version>(?!<\/parent>)
как получить строку из тегов, используя sed и grep, я пытаюсь захватитьтеги: <groupId>org.test.proj.assent</groupId>
<artifactId>mainapp</artifactId>
<version>mainapp.1.4</version>
<packaging>pom</packaging>
<name>main app 1</name>
и затем оттуда, я думаю, я извлеку строку:
<version>mainapp.1.4</version>
я пробовал это:
sed -n '/version/,/version/p' pom.xml | grep -o -e '<version>.*'
но это дает мневсе версии
также я пытаюсь захватить:
sed -n '/\/artifactId/,/\/version/p' pom.xml | grep -o -e '<version>.*'
но все файлы печатаются
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" >
<modelVersion>55.0.0</modelVersion>
<parent>
<groupId>org.test.proj</groupId>
<artifactId>test-invoker</artifactId>
<version>invoker.0.4</version>
</parent>
<groupId>org.test.proj.assent</groupId>
<artifactId>mainapp</artifactId>
<version>mainapp.1.4</version>
<packaging>pom</packaging>
<name>main app 1</name>
<properties>
<app-name>Testing App</app-name>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.prod.db</groupId>
<artifactId>srver-db</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
я могу использовать только собственные инструменты linux без установок
ОБНОВЛЕНО xml и строка для захвата