[Shell Unix] modifier une chaine de caractère

jebok Messages postés 371 Date d'inscription   Statut Membre -  
jisisv Messages postés 3678 Statut Modérateur -
Bonjour,

Comment faire pour remplacer tous les espaces d'une chaîne de caractères par des retour chariot ?
j'ai essayé avec la commande sed mais je n'y arrive vraiment pas.

Merci de votre aide.
Configuration: ksh

2 réponses

  1. blux Messages postés 2045 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    essaye de poser ton problème dans le forum unix/linux...
    0
  2. jisisv Messages postés 3678 Statut Modérateur 936
     
    Essaye tr (man tr)
    johand@horus:~$ mystring="a b c d"
    johand@horus:~$ echo $mystring | tr " "  "\n"
    a
    b
    c
    d
    

    Un pur Carriage return donnera ceci sous les Unices
    johand@horus:~$ echo $mystring | tr " " "\r"
    d
    johand@horus:~$ echo $mystring | tr " " "\r"|od -ax
    0000000   a  cr   b  cr   c  cr   d  nl
            0d61 0d62 0d63 0a64
    0000010
    

    Si tu veux avoir des sauts de lignes, utilise "\n" (New Line)

    Johan
    0