Bash pour inserer du texte dans un fichier

Fermé
chris - 1 juin 2010 à 17:54
 chris - 1 juin 2010 à 18:13
Bonjour,
J'ai besoin d'effectuer une insertion de texte un peu particulière selon certains critères:
j'ai un fichier plop
cat plop
toto
titi
button
titi truc

cat plop2
toto
titi
button
titi

Dans mon fichier, j'ai l'occurrence button qui n'apparait qu'une fois, et l'occurrence titi plusieurs fois.
J'ai besoin d'insérer du texte après l'occurrence titi se trouvant juste apres button, selon certains cas:
si titi est suivi de truc, je dois rajouter mon texte derriere truc
si titi n'est pas suivi de truc, je dois rajouter mon texte derriere titi

donc au final, apres passage du script:
cat plop
toto
titi
button
titi truc mon texte

cat plop2
toto
titi
button
titi mon texte

Merci pour vos réponses à venir !

A voir également:

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 896
1 juin 2010 à 18:09
Salut,

[jp@virtual_MDK trash]$ cat plop
toto                                 
titi                                 
button                               
titi truc                            

[jp@virtual_MDK trash]$ cat plop2
toto                                  
titi
button
titi

[jp@virtual_MDK trash]$ sed -s -i.bak '/button/{n;/titi$/{s//& mon texte/};/titi truc/{s//& mon texte/}}' plop*

[jp@virtual_MDK trash]$ cat plop
toto
titi
button
titi truc mon texte

[jp@virtual_MDK trash]$ cat plop2
toto
titi
button
titi mon texte

[jp@virtual_MDK trash]$

;-))
1
toujours parfait... merci !
0