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. 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
  2. ??? Je sais qu'on peut utiliser le code de retour, mais la dernière commande, j'en sais rien...
    0
    1. 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
    2. 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