sed, évaluer une commande bash lors du remplacement
2016-09-09 | #commande #evaluation #sed
Je souhaitai décoder des valeurs encodées en base64 via sed. Le paramètre final “/e” de sed permet d’évaluer l’expression remplacée. Ici c’est la commande bash qui affiche l’attribut suivi d’un ‘:’ et de la valeur décodée. Comme vous le constatez, l’utilisation des valeurs capturées est possible. $ cat /tmp/example.txt cn: John Doe @ Home displayName:: Sm9obiBEb2UK mail: johndoe@home.com $ cat /tmp/example.txt | sed -re "s/([^:]+):: (.*)$/echo \\1: \$(echo \\2 | base64 -d)/e" cn: John Doe @ Home displayName: John Doe mail: johndoe@home.