Saut de ligne sur un doc

Bonjour à tous,

Je voudrais faire un truc bete, ajouter un saut de ligne avant la parenthese "("

exemple sur mon fichier :

dfsdfdsg(gdsdgsdggd)gdsgsgdgg(gdsgdgsd)

que je veux modifier en :

dfsdfdsg
(gdsdgsdggd)gdsgsgdgg
(gdsgdgsd)

ch'ti problème la commande:
sed 's+(+\\n(+g'>>doc.txt

ajoute "\n" au lieu d'un saut de ligne :(

je suis sous mac terminal sow panther.

2 réponses

  1. Contributeur
    Salut,

    $ A="dfsdfdsg(gdsdgsdggd)gdsgsgdgg(gdsgdgsd)" 
    
    $ echo $A | sed 's/(/\n&/g'
    dfsdfdsg
    (gdsdgsdggd)gdsgsgdgg
    (gdsgdgsd)
    
    $

    ;-))
    0
    1. Ca ne marche pas chez moi :(

      j'ai

      iMac-de-g:Downloads g$ echo "dfsdfdsg(gdsdgsdggd)gdsgsgdgg(gdsgdgsd)" | sed 's/(/\n&/g'
      dfsdfdsgn(gdsdgsdggd)gdsgsgdggn(gdsgdgsd)
      
      0
    2. Contributeur
      Essaye avec "\r" à la place de "\n" ;-\

      sed 's/(/\r&/g'
      0
  2. Contributeur
    hello
    en shell
    $ a="dfsdfdsg(gdsdgsdggd)gdsgsgdgg(gdsgdgsd)" ; echo -e "${a//+('(')/\n(}"
    dfsdfdsg
    (gdsdgsdggd)gdsgsgdgg
    (gdsgdgsd)
    $ 
    0
    1. Contributeur
      Salut,

      La variable n'était là que pour mon exemple, le but est de traiter un fichier et non une variable apparemment.

      De toute façon le souci n'est pas là, c'est le retour chariot sous Mac qui pose problème ;-(
      0