vendredi 9 septembre 2016

sed, mettre sur une ligne après avoir matché un pattern


(source: http://stackoverflow.com/questions/12833714/the-concept-of-hold-space-and-pattern-space-in-sed


La commande ldapsearch peut renvoyer des attributs avec leur valeur en base64 (présence :: après le nom de l'attribut) sur une ou plusieurs lignes (commençant par un espace).

Je souhaitais donc les merger facilement.

En regardant du côté de sed, il est possible de le faire facilement.

L'exemple ci-dessous montre la commande :



On recherche les attributs suivis de '::' puis on commence une boucle (:loop) dans laquelle on rajoute la ligne suivante (N) dans le "pattern space". On effectue alors le remplacement du retour chariot suivi de l'espace et on reboucle.

Aucun commentaire: