Sed

Résolu
Bonjour,
j'aimerai savoir comment je peux faire en sorte que je puisse changer des caractères d'une chaine de caractère avec la fonction sed....

voici ce que je veux faire...

var="txt"

si la chaine est vrai... changer pour txt1...

et retourner cela dans une variable....

merci
mousekey

4 réponses

  1. Rien compris au problème.

    Si tu veux transformer la première occurence de
    txt
    dans chaque ligne, tu peux faire :
    sed "s/txt/txt1/" fichier
    
    0
    1. Bonjour,
      merci de votre réponse..... dsl pour l'incompréhension..
      sed s/$var1/$var2/g fichier.txt > fichier1.txt

      var1=xyz var2=TOTO

      mousekey
      merci
      0
  2. Oupsss !!!
    Je pensais que var="txt" apparaissait DANS le fichier à modifier.
    (NB : bien vu le /g, j'avais zappé celui là).

    Pour les prochaines fois : autant se tutoyer, non ?
    0
    1. Bonjour,
      pas de problème pour ce tutoyer... tu as msn...

      merci
      mousekey
      0
    2. Salut,
      j'aimerai savoir si tu connais la variable en ksh qui contient la valeur de la dernière commande... genre $Status=0 si la commande c bien exécuter sinon autre chose....

      merci

      mousekey
      0
  3. ??? Je sais qu'on peut utiliser le code de retour, mais la dernière commande, j'en sais rien...
    0
    1. Contributeur
      Sous Unix/Linux c'est $$ (si mes souvenir sont bon) pour le statut de la derniere commande effectuée, mais je doute que tu sois sous Unix/Linux sinon tu aurais posé ta question sur le forum adéquat, tout de meme, on ne sais jamais...

      ;)
      0
      1. Modérateur
        Salut,

        Sous Unix/Linux c'est $$ (si mes souvenir sont bon)
        Perdu ;-))
        "$$" renvoie le "PID" du shell.
        Pour le code retour de la dernière commande, c'est "$?".
        0
      2. @jipicyBonjour,
        merci
        mousekey
        0
      3. @jipicyBonjour,
        j'aimerai savoir comment je peux faire pour lire une ligne dans un fichier avec la commande sed de cette manière : sed -n 2p fichier.txt et mettre le résultat dans un tableau...
        i=0
        ls > fichier.txt
        tab[$i]=`sed -n 2p fichier.txt`
        echo ${tab[$i]}

        merci
        mousekey
        0