Ajouter un mot aprés un autre

Fermé
mike - 16 mars 2009 à 01:00
 mike - 17 mars 2009 à 22:41
Bonjour,

J'aimerais ajouter un motif par un autre en sautant une ligne.

Par exemple j'ai un fichier de type :

Lundi mardi mercredi
jeudi vendredi samedi
Lundi dimanche mercredi


aprés avoir sauter une ligne, je voudrais ajouter "date" aprés mercredi seulement lors de la premiére fois que la commande rencontre le mot mercredi.


ce qui donne :

Lundi mardi mercredi
date
jeudi vendredi samedi
Lundi dimanche mercredi


le mot date ne doit pas être ajouter 2 fois.

Merci de votre aide.

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
16 mars 2009 à 07:34
Salut,
[tmpfs]$ cat fich
Lundi mardi mercredi
jeudi vendredi samedi
Lundi dimanche mercredi

[tmpfs]$ sed '0,/mercredi/ s//&\ndate/' fich
Lundi mardi mercredi
date
jeudi vendredi samedi
Lundi dimanche mercredi

[tmpfs]$ 
Tu peux aussi faire comme ça :
sed ':z;N;$! bz;s/mercredi/&\ndate/1' fich
;-))
0
Bonsoir,

c'est exactement ce que je voulais faire cependant avec cette commande :

sed ':z;N;$! bz;s/mercredi/&\ndate/1' fich

j'obtiens :

Lundi mardi mercredi n date
jeudi vendredi samedi
Lundi dimanche mercredi

j'arrive pas à obtenir le saut de ligne
0
merci beaucoup c'est exactement ce que je voulais faire :)
0