Bonjour la liste,

Je me heurte depuis quelques temps à un souci de substitution de
caractère dans une sous-chaine.

Voici la chaîne d'origine:

type[TEST] date[Sun Dec 16 15:45:53 CET 2007] description[permission
denied] level[critical]

Quelquefois, je la reçois sous cette forme (remarquez qu'un espace
s'est inséré dans "perm ission" et "cri tical") :

type[TEST] date[Sun Dec 16 15:45:53 CET 2007] description[perm ission
denied] level[cri tical]

J'aimerai donc supprimer tous les espaces ' ' contenus entre crochets
SAUF dans ceux précédés de 'date' ou 'creationDate'

Je pense que sed peut suffir mais je n'arrive pas à trouver.

En effet:

echo "description[perm ission denied] " | sed -e 's/\[.*\ .*]/\[\.*_\.*\]/g'

et

tr ' ' '_'

ne sont pas corrects.

Auriez-vous une idée?

Merci.

Zelos

Répondre à