Sed

Résolu
mousekey -  
 mousekey -
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. SKZ
     
    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. mousekey
       
      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. SKZ
     
    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. mousekey
       
      Bonjour,
      pas de problème pour ce tutoyer... tu as msn...

      merci
      mousekey
      0
    2. mousekey
       
      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. SKZ
     
    ??? Je sais qu'on peut utiliser le code de retour, mais la dernière commande, j'en sais rien...
    0
  4. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    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. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      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
      1. mousekey > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Bonjour,
        merci
        mousekey
        0
      2. mousekey > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Bonjour,
        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