Bonjour à tous,

Etant newbee et après moultes recherches, je me vois dans l'obligation de vous poser la question.

Je voudrais faire un rechercher remplacer un peu complexe.
Je voudrais remplacer dans tous les fichiers php d'un repertoire un motifA en motifB :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
find monRepertoire -name '*.php'
Mais dans mon fichier, il faut qu'il y ait
new maClassB et pas require('maClasseB')

Pour cela je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 grep -l "new maClassB" | grep -L "require('maClasseB')"
ensuite je remplace mon motif
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sed -i "s/require('maClasseB')/require('maClasseB');\nrequire('maClasseA');/"
Le soucis, c'est que je n'arrive pas à enchaîner les 3 instructions, je pense que j'ai les éléments, mais comme je n'y connais rien....

PS : je pourrais rediriger les résultats de ma recherche dans un fichier et ensuite faire une boucle sur le fichier et avec sed faire le rechercher/remplacer. Mais, dans un but pédagogique, je souhaite aussi apprendre, donc savoir comment effectuer la manipe en 1 ligne et sans boucle

Merci pour votre aide et vos suggestion