У меня есть файл XML с нижеприведенной структурой на Mac
<?xml version="1.0" encoding="UTF-8"?>
<Profile xmlns="http://test.com/data">
<userPermissions>
<enabled>true</enabled>
<name>View</name>
</userPermissions>
<userPermissions>
<enabled>true</enabled>
<name>Edit</name>
</userPermissions>
<userPermissions>
<enabled>true</enabled>
<name>Delete</name>
</userPermissions>
</Profile>
Я бы хотел иметь скрипт bash / cli для удаления из него раздела ниже.
<userPermissions>
<enabled>true</enabled>
<name>Delete</name>
</userPermissions>
Как я могу сделать это с помощью sed / awk / xmlstarlet?
Я попробовал ниже. Не получайте ошибку, но это не делает работу также.
sed -i '' 's#</userPermissions><userPermissions><enabled>true</enabled><name>Delete</name></userPermissions>#</userPermissions>#' FileName.Profile
sed -i '' 's/<\/userPermissions><userPermissions><enabled>true<\/enabled><name>Delete<\/name><\/userPermissions>/<\/userPermissions>/' FileName.Profile
попробовал ниже и с XMLSTARLET, но не повезло
XMLStarlet ed --ps -d "/Profile/userPermissions[name='Delete'] FileName.profile"