Sed et ou logique ...

Résolu
Bonjour,

je fais appel à vous pour un petit exercice intellectuel, que je me suis donné ...

il faut que je remplace du texte dans quelques fichiers (Je suis sous AIX). pour cela j utilise la commande sed

Si je trouve toto, je le remplace par maman
si je trouve tata, je le remplace aussi par maman.

je veux bien le faire en 2 fois, mais je cherchais à le faire en 1 ligne de commande .. Z'avez pas une idee ?

(j ai essayé sed s/"titi" | "toto"/maman/g > file1 , ainsi que sed s/"titi" || "toto"/maman/g > file 1 ,amsi ca marche pô !)

Si s'avez un truc,
Configuration: Windows XP
Firefox 2.0.0.17

6 réponses

  1. yop,

    bonjour tous les deux,

    j'ai testé sous AIX et ksh ce petit exercice, mais cela ne semble pas fonctionner ...

    quand je l'éxecute dans vi, j'obtiens ceci

    ex : 0602-071 Il n'existe aucune occurrence du modèle de substitution.

    sinon en ligne de commande basique, cela s'éxecute sans erreur mais aucune substitution n'est effectuée

    je cherche encore ...

    ++
    1. Modérateur
      Il te faut passer par un fichier temporaire pour que les modifications soient prises en compte :
      sed 's/bla/blu/g' < fichier > fichier.tmp && mv -i fichier.tmp fichier
      ;-))
  2. là çà fonctionne pour une substitution, bla par blu
    mais pour 2 substitutions bla et bli par blu par exemple, je n'y arrive toujours pas .... même avec un fichier temporaire
    désolé je suis un boulet ...

    ++
    1. Modérateur
      T'as essayé :
      sed -e 's/bla/blu/g' -e 's/bli/blu/g' < fichier
      ???