Bonjour,
J'essaye d'utiliser awk pour effacer une section <property>...toto...</property> dans un fichier xml
Pour l'instant j'ai trouvé la syntaxe suivante :
awk -v RS='<property>' '$0 !~ /toto/{print $0}'
Cela marche presque, la section qui m'intéresse est bien supprimée, mais toutes les autres sections qui ne contiennent pas "toto" se retrouvent amputées de la ligne <property> qui a servi à détecter le motif.
J'ai donc essayé
awk -v RS='<property>' '$0 !~ /toto/{print RS $0}'
Cela rétablit les lignes amputées, mais sans l'indentation, et surtout la partie du fichier qui précède la première occurence se retrouve préfixée par <property>... logique.
Je ne vois donc pas comment utiliser RS sans altérer le texte d'origine en dehors de la section recherchée.
Partager