Re: modifier certaines lignes d'un fichier en bash

Top Page

Reply to this message
Author: serge rouveyrol
Date:  
To: Stéphane Morico
CC: guilde
Subject: Re: modifier certaines lignes d'un fichier en bash
Stéphane Morico wrote:

> > vi, je crois que c'est la meilleure solution!
>
> Ben je trouve que ed est une super solution !
> (en plus, je veut pas dire de conneries mais il me semble que vi est
> basé sur ed non ?)
>
> Tu peut directement mettre ce que serge à donné dans un script .sh !!
>
> *Au passage, je me demandais pourquoi ne pas faire
>
> ed fichier << 'EOF'
> s/chaine1/chaine2/g
> w
> q
> EOF
>
> Tout simplement...
> C'est quoi la difference entre 1,$s/chaine1/chaine2/g et
> s/chaine1/chaine2/g ???
>
> Sinon en perl c'est pas mal non plus... Si tu veut bien installer perl
> évidement !


ed c'est l'éditeur initial sur unix (ted sur Multics) , un éditeur
ligne, (fait pour des terminaux
ou on ne pouvait pas faire du plein écran : des terminaux papier)

dans vi en tapant " :" on peut taper une commande ed, (plus exactement
une commande ex ...)
comme par exemple : g/^/m0

la commande s/chaine1/chaine2/g susbtitue seulement sur la ligne
courante du fichier, c'est a dire la derniere apres l'ouverture du fichier

1,$ -> de la premiere la dernière ligne faire s/.../.../g
(remarque: pour eviter l'interprétation par le shell du caractère $...
utiliser ed ... << 'EOF' et non ed ... <<EOF

l'avantage de ed sur perl c'est qu'il est "toujours déja la!" sur tout
unix minimal.