Retour ligne Shell

Résolu
bibitun Messages postés 10 Statut Membre -  
bibitun Messages postés 10 Statut Membre -
Bonjour,
J'ai un problème que j'essaie de résoudre depuis vendredi en vain. En fait j'écris un shell, ou je dois insérer avec sed une ligne puis un retour à la ligne puis une autre ligne:
sed s/lign_remplacer/ligne1\nligne2/g fichier > fichier;
Le problème c'est que le retour à la ligne n'est pas reconnu, et j'obtiens juste ligne1nligne2.
j'ai doublé le double slash, j'obtiens la meme chose, quand je le tripel, j'obtiens ligne1\nligne2.
Je précise que j'utilise Putty pour me connecter sur le serveur, je n'ai pas le choix de l'outil malheuresuement.
Merci pour votre aide.

6 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Quel système d'exploitation sur ton serveur ?
    Quelle version de "sed" ?

    Essaie avec le code ASCII :

    sed 's/lign_remplacer/ligne1\x0Aligne2/g' fichier > fichier

    C'est un ZERO et non pas un O majuscule...
    0
  2. bibitun Messages postés 10 Statut Membre
     
    Toujours le meme problème: il m'affiche ...ligne1x0Aligne2...
    Comment savoir la version du serveur et de la commande sed stp?
    Merci
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Pour le serveur sais-tu au moins si c'est du GNU/Linux ou de l'UNIX ?

      Essaie :

      lsb_release -a
      ou
      cat /etc/{release,version,issue}


      Pour "sed" :

      sed --version
      0
  3. bibitun Messages postés 10 Statut Membre
     
    la commande que vous m'avez donné n'a pas marché, j'ai essayé la commande oslevel, ça a donné: 5.2.0.0.
    uname -a a donné : AIX xxxxx 2 5 .....
    POur sed la commande n'a pas marché.
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Effectivement sur AIX "sed" est plutôt capricieux ;-((

      Essaie comme ça :

      sed 's/lign_remplacer/ligne1\<ENTREE>
      ligne2/g' fichier > fichier


      <ENTREE> est à exécuter pas à entrée littéralement, hein ? ;-))
      0
  4. bibitun Messages postés 10 Statut Membre
     
    Pourriez vous m'expliquez plus cette histoire d'entrée svp?
    merci
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Après l'anti slash tu appuies sur Entrée et tu continues le reste de la syntaxe à la ligne.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. bibitun Messages postés 10 Statut Membre
     
    Ei si j'ai un shell?
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Tu tapes <Entrée> sans l'anti-slash avant ;-)
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Enfin non, j'ai peut être dit une c**nerie, tu fais de même avec l'anti-slash et le <Entrée> ;-)
      0
  7. bibitun Messages postés 10 Statut Membre
     
    ça marché mais en rajoutant un autre anti slash: \\
    Merci beaucoup pour cette aide, tu m'as sauvé ma journée! :-)
    0