je me pose une question et je n’arrive pas à trouver la réponse. Donc peut être que quelqu’un ici a la solution.
je cherche en ksh a affecter plusieurs variables simultanément avec le résultat d’une seule commande du style :
echo $chaine | sed « s/…(block1)…(block2)…(block3)…/\1 \2 \3/ » | read a b c
Ce que fait cette ligne c’est faire de l’extraction des 3 blocks de la chaine $chaine. Et puis c’est tout
Ce que j’aimerais c’est qu’elle affecte le résultat dans les variables a, b et c.
ca permet d’éviter de taper trois fois la ligne sed pour affecter chaque variables:
a=echo $chaine | sed "s/.......\(block1\).....\(block2\).....\(block3)\.../\1/"
b=echo $chaine | sed "s/.......\(block1\).....\(block2\).....\(block3)\.../\2/"
c=echo $chaine | sed "s/.......\(block1\).....\(block2\).....\(block3)\.../\3/"
Quelqu’un aurait une solution pour affecter les trois variables simultanément avec le résultat d’un seul sed ?
Cela améliorerait les performance du script, qui sont critiques.
Ca ne répond pas exactement à ta question, mais c’est la seule solution que je connaisse : le faire en 2 temps en passant
par un tableau, ça évite au moins de faire x fois les sed