Le site arthur.bebou.netlib.re - retour accueil
git clone git://bebou.netlib.re/arthur.bebou
Log | Files | Refs |
commit 5e29d26e988ad9742834126da22fe4f17e149f62 parent 179dca51ad1c287e0f0032983e6edae8ab929707 Auterice: Arthur Pons <arthur.pons@unistra.fr> Date: Wed, 11 Sep 2024 16:53:25 +0200 Début relecture article tsv2anything Petit souci dans le template printf Petite amélioration de printlayout pour la gestion des valeurs avec des " et des ' dedans Diffstat:
M | contents/tsv2anything/index.sh | | | 22 | +++++++++++----------- |
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/contents/tsv2anything/index.sh b/contents/tsv2anything/index.sh @@ -219,14 +219,14 @@ tableau de la première colonne. Le code suivant en est un exemple, il prendra dans stdin le tableau et en argument le fichier contenant le here-doc : tmpd=$(mktemp -d) - tee $tmpd/all | - head -n1 | + tee $tmpd/all | head -n1 | tr ' ' '\n' > $tmpd/vars tail -n+2 $tmpd/all | while read line;do eval $(echo "$line" | tr ' ' '\n' | paste -d '=' $tmpd/vars - | - sed -E "s/=/&'/;s/$/'/") + sed -E 's/"/\\\"/g' | + sed -E 's/=/&"/;s/$/"/') . "$1" done rm -rf $tmpd @@ -254,19 +254,19 @@ Il reste a appeler notre script (nommé `printlayout` pour l'occasion) avec le f 1 | Terrell - Games developer 1945-10-26 (elijah57@example.net) - -----------' + ----------- 2 | Phillip Summers - Phytotherapist 1910-03-24 (bethany14@example.com) - -----------' + ----------- 3 | Kristine Travis - Homeopath 1992-07-02 (bthompson@example.com) - -----------' + ----------- 4 | Yesenia Martinez - Market researcher 2017-08-03 (kaitlinkaiser@example.com) - -----------' + ----------- [...] #### Avantages @@ -289,7 +289,7 @@ s'il manque une donnée cruciale : ${id:?missing id, something is wrong} | $firstname $lastname - ${job:-no known job} ${dob:-date of birth unknown} ($email) - -----------' + ----------- delim Il est également possible de mettre des conditions pour que le template diffère @@ -302,7 +302,7 @@ légèrement basé sur la valeur d'une variable par exemple : ) ${dob:-date of birth unknown} ($email) - -----------' + ----------- delim Qui donnera sur les lignes avec Alice comme prénom : @@ -310,11 +310,11 @@ Qui donnera sur les lignes avec Alice comme prénom : 1 | Alice (wow what a pretty name) Terrell - Games developer 1945-10-26 (elijah57@example.net) - -----------' + ----------- 2 | Phillip Summers - Phytotherapist 1910-03-24 (bethany14@example.com) - -----------' + ----------- Si cela est vraiment un avantage pourrait être sujet à débat. Il pourrait être considéré comme de mauvais goût d'ajouter de l'intelligence dans le template