Petite prise de tête cet après-midi sur le problème suivant. Soit le bloc:
et je veux en sortie le block suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Mesh = { Name = "referenced_name"; File = "mesh_filename"; Type = "msh"; }
en sachant que:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Mesh = { Name = "referenced_name"; File = "mesh_filename"; Type = "msh"; }
- Il peut y avoir plusieurs blocs qui se suivent dans l'entrée
- il peut y avoir du texte sur la ligne après la parenthèse ouvrante (ce texte doit alors rester sur une ligne seule)
- il peut y avoir des blancs (espaces, tabulations) avant la parenthèse ouvrante
Avec sed, j'ai réussi à remplacer le caractère de fin de ligne seul:
Une parenthèse seule:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 | sed '{:q;N;s/\n/ /g;t q}'
Un caractère de fin de ligne suivi de la première lettre de la ligne suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 | sed '{:q;N;s/{/ /g;t q}'
Mais pas un caractère de fin de ligne suivi d'un nombre arbitraire d'espaces suivi d'une parenthèse ouvrante...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 | sed '{:q;N;s/{/\nN /g;t q}'
Merci pour votre aide !
Partager