IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

[ksh] Ajouter un retour chariot


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 81
    Par défaut [ksh] Ajouter un retour chariot
    Bonjour,

    J'ai une chaine #TOTO #TITI #TUTU #TATA...
    Je voudrais qu'à partir du deuxième #, il y'ait une retour à la ligne avant chacun des # suivants, ce qui donnerait
    #TOTO
    #TITI
    #TUTU
    #TATA
    ...

    NB : le nombre de # n'est pas fixe.

    J'ai déjà essayé avec un sed 's/#/\\\n/g' mais le \n n'est pas interprété j'obtiens \n#TOTO \n#TITI \n#TUTU \n#TATA

    Merci d'avance

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,


  3. #3
    Membre très actif

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Par défaut
    Question con: dans ton exemple, tu n'as pas d'espaces dans les textes, c'est le cas aussi dans ta vraie chaine ?

    Si oui, tu peux utiliser tr:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ echo "#TOTO #TITI #TUTU #TATA" | tr ' ' '\n'
    #TOTO
    #TITI
    #TUTU
    #TATA
    Sinon, la solution de zipe31 est la plus simple

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 81
    Par défaut
    Merci à tous les deux!
    Par contre, seule la solution marche chez moi, ça vient peut être de mon ksh qui est une ancienne version... Voici le résultat que ça donne

    #TOTOn#TITIn#TUTUn#TATA

    Je vais donc prendre la solution de Alek-C qui me convient parfaitement

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Citation Envoyé par Cj_Dal Voir le message
    Par contre, seule la solution avec "tr" marche chez moi, ça vient peut être de mon ksh qui est une ancienne version... Voici le résultat que ça donne

    #TOTOn#TITIn#TUTUn#TATA
    Quel système ?
    Quelle version de ksh ?
    Quelle version de sed ?

    Avec ksh93 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $ echo "#TOTO #TITI #TU TU #TA TA" | sed 's/ \(#\)/\n\1/g'
    #TOTO
    #TITI
    #TU TU
    #TA TA
    $

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 81
    Par défaut
    En fait j'ai dit une bétise la solution de Alek-C ne va pas marcher lorsque j'aurais des chaînes de caractère avec des espaces à la place des TOTO...

    Sinon :
    Quel système ? AIX Version 5.3
    Quelle version de ksh ? je ne sais pas comment on la trouve
    Quelle version de sed ? je ne sais pas comment on la trouve

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TextBlock] Ajouter un retour chariot dans le StringFormat
    Par bassreligion dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 08/11/2018, 15h14
  2. [RegEx] ajouter un retour chariot à un nombre dans un texte
    Par serna dans le forum Langage
    Réponses: 2
    Dernier message: 06/09/2010, 17h26
  3. concatenation de 2 fichiers+ajout de retour chariot si nécessaire
    Par freestyler dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 14/12/2007, 11h34
  4. [VBA] Comment ajouter un retour chariot dans un label?
    Par fafaf dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/03/2007, 14h37
  5. Réponses: 2
    Dernier message: 11/07/2006, 15h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo