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. Modérateur
    T'as essayé :
    sed -e 's/bla/blu/g' -e 's/bli/blu/g' < fichier
    ???
    1. 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. 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
          ;-))