cp \<template\> \<fichier\>
sed -i -e 's:\<Nom_De_Champ_Dans_Le_Template\>:\<valeur qu'on veut\>:g' <fichier>
ces commandes copient un template avec des pattern de champ à remplir, pour les substituer avec la commande sed directement dans le fichier (-i). Il est possible d'enchainer plusieurs options -e de sed, ou d'invoquer la commande plusieurs fois. L'option "g" des regex c'est pour appliquer la substitution plusieurs fois pour chaque ligne au cas où le pattern s'y trouverais plus d'une fois. En shell ça donnerait avec "" comme pattern à substituer:
destinataire='Mme Michu'
sed -i -e 's:<destinaire>:$destinataire:g' fichier
Tu peux définir une variable et l'utiliser. Il serait possible de modifier la salutation dépendamment du genre: « Cher » ou « Chère » en utilisant la même commande sed avec un système de conditions...
Bref c'est méga-scriptable. Et tu peux faire de trucs chouettes à partir des expressions rationnelles (regular expression, ou regex en Anglais), c'est puissant mais tu peux aussi juste te contenter de chercher et substituer des patterns fixes. Tu peux aussi utiler "sed -e substitution1 -e substitution2 -e stubstiution3 ... template >> doc" pour ajouter chaque template ajusté à la suite d'un document à partir d'une liste de template. Ou même jouer avec des variable shells globales.
# variations autour de sed
Posté par bobo38 . En réponse au message traiter des blocs de texte pour composer de gros documents flexibles. Évalué à 1. Dernière modification le 09 février 2022 à 13:55.
ces commandes copient un template avec des pattern de champ à remplir, pour les substituer avec la commande sed directement dans le fichier (-i). Il est possible d'enchainer plusieurs options -e de sed, ou d'invoquer la commande plusieurs fois. L'option "g" des regex c'est pour appliquer la substitution plusieurs fois pour chaque ligne au cas où le pattern s'y trouverais plus d'une fois. En shell ça donnerait avec "" comme pattern à substituer:
Tu peux définir une variable et l'utiliser. Il serait possible de modifier la salutation dépendamment du genre: « Cher » ou « Chère » en utilisant la même commande sed avec un système de conditions...
Bref c'est méga-scriptable. Et tu peux faire de trucs chouettes à partir des expressions rationnelles (regular expression, ou regex en Anglais), c'est puissant mais tu peux aussi juste te contenter de chercher et substituer des patterns fixes. Tu peux aussi utiler "sed -e substitution1 -e substitution2 -e stubstiution3 ... template >> doc" pour ajouter chaque template ajusté à la suite d'un document à partir d'une liste de template. Ou même jouer avec des variable shells globales.