Objet : Discussions sur le logiciel libre
Archives de la liste
- From: jpcas <jpcas AT free.fr>
- To: linux-31 AT culte.org
- Subject: Re: [Linux-31] Insertion avec SED
- Date: Sun, 8 Apr 2018 23:00:37 +0200
Le 08/04/2018 à 22:34, Pierre ESTREM (via linux-31 Mailing List) a écrit :
> Je suis incapable de comprendre cette commande...
> Elle est laide, mais elle fait le job !
On va essayer de détailler…
En gros l'idée c'est de tout mettre sur une seule ligne dans le buffer,
la mémoire principale de sed. Puis de rechercher la 1ère occurrence de
ta regex et de quitter.
:z
On pose un étiquette pour pouvoir s'y brancher sur demande.
;
Le séparateur de commande.
N
On ajoute la ligne suivante dans la mémoire principale de sed.
$! bz
Si la fin du fichier n'est pas atteinte (le signe dollar représente ici
la dernière ligne, le point d'exclamation représentant la négation), on
se branche (commande "b") à l'étiquette ":z" et on recommence.
s/.*<property.*/COUCOU...\n&/1M
Quand la dernière ligne est atteinte, on applique la commande de
substitution. On remplace donc toute la regex par "COUCOU" suivi d'un
saut de ligne (\n). Le caractère esperluette étant un raccourci pour
représenter tout le contenu de la partie gauche de la commande, la regex
en fait.
Le "1" indique qu'on ne veut effectuer la substitution que sur la 1ère
regex rencontrée.
Le "M" permet de traiter chaque morceau de ligne (représentée par le
caractère "\n") individuellement alors qu'en réalité il n'y a qu'une
seule ligne présente dans la mémoire principale.
En espérant avoir été à peu près clair .
JP
- [Linux-31] Insertion avec SED, Pierre ESTREM, 08/04/2018
- Re: [Linux-31] Insertion avec SED, Jean-Marc Mongrelet, 08/04/2018
- Re: [Linux-31] Insertion avec SED, Jean-Marc Mongrelet, 08/04/2018
- Re: [Linux-31] Insertion avec SED, Pierre ESTREM, 08/04/2018
- Re: [Linux-31] Insertion avec SED, jpcas, 08/04/2018
- Re: [Linux-31] Insertion avec SED, Pierre ESTREM, 08/04/2018
- Re: [Linux-31] Insertion avec SED, Pierre ESTREM, 08/04/2018
- Re: [Linux-31] Insertion avec SED, jpcas, 08/04/2018
- Re: [Linux-31] Insertion avec SED, jpcas, 09/04/2018
- Re: [Linux-31] Insertion avec SED, Jean-Marc Mongrelet, 08/04/2018
Archives gérées par MHonArc 2.6.19+.