<property name="PROPETY_NAME" value="https://url.com/cesta/"/> # bohuzel obcas i s novym radkem<property name="PROPETY_NAME" value="https://url.com/cesta/"/>
echo "$file_content" | grep "PROPETY_NAME" | grep -o 'http.://.*\"' | sed 's/.$//' | sed -n '1p'
xmllint --xpath 'string(//property[@name="PROPETY_NAME"]/@value)' input.xml
xmllint --xpath '//property[@name="PROPETY_NAME"]/@value' file.xml | sed 's/value=/\n/g'
Nápad je jediný: neparsujte XML pomocí regulárních výrazů, protože to nejde. Teď jste narazil na zalomení řádků, pak narazíte na komentáře, entity, CDATA…
Kód: [Vybrat]xmllint --xpath '//property[@name="PROPETY_NAME"]/@value' file.xml | sed 's/value=/\n/g'
jde to, většina implementací regulárních výrazů podporuje rekurzivní matche.