Без использования awk, простоbash
while read line; do
printf "name%s-%s\n" \
"$(tr -dc '[:alnum:]' </dev/urandom|head -c6)" \
"$line"
done <myfile
Используя xmlstarlet
, это должно помочь правильно сформированномуxml
xmlstarlet ed -d "//configProperty[.//value[contains(string(), 'oaea_server')]]" file1
В выходных данных удален Server48
<?xml version="1.0"?>
<configGroup>
<type>SERVER_CONFIG</type>
<configProperty id="Server6">
<configProperty>
<name>Server Name</name>
<value>oacore_server2</value>
<itemMetadata>
<dataType>STRING</dataType>
<scope>READ_ONLY</scope>
</itemMetadata>
</configProperty>
<configProperty>
<name>Listen Address</name>
<value>server.com</value>
<itemMetadata>
<dataType>STRING</dataType>
<scope>READ_WRITE</scope>
</itemMetadata>
</configProperty>
<configProperty>
<name>Listen Port</name>
<value>7251</value>
<itemMetadata>
<dataType>INTEGER</dataType>
<scope>READ_WRITE</scope>
</itemMetadata>
</configProperty>
</configProperty>
</configGroup>