scm:git:ssh://を使用せずに開発者接続を使用せずにpom.xmlからgit @ ...文字列を取得する方法は?

scm:git:ssh://を使用せずに開発者接続を使用せずにpom.xmlからgit @ ...文字列を取得する方法は?

pom.xmlがあります。

<scm>
<developerConnection>scm:git:ssh://[email protected]:anton_patsev/maven-release-example3.git</developerConnection>
<tag>HEAD</tag>
</scm>

文字列を取得する方法[Eメール保護]:pom.xmlのanton_patsev/maven-release-example3.git?

ありがとうございます!

答え1

string=$(cat pom.xml | grep developerConnection | sed -e s/\<developerConnection\>scm:git:ssh://g)
echo string
echo $string
developerConnection=$(echo ${string//[[:blank:]]/} | cut -c 3- | sed s/developerConnection//g |  head -c-4)
echo developerConnection
developerConnection=$(echo $developerConnection| sed 's/gitlab.tools.russianpost.ru\//gitlab.tools.russianpost.ru:/g')
echo developerConnection

答え2

正規表現はいいえxml / htmlデータを解析するために使用されます。マークアップデータには、ラベルまたはコンテンツテキストを1行に保持する必要がある「義務」はありません。または、次
の適切なxml / htmlパーサーを使用してください。xmllintxmlstarlet

$ xmllint --xpath 'scm/developerConnection/text()' pom.xml
scm:git:ssh://[email protected]:anton_patsev/maven-release-example3.git

関連情報