[shell] modifier une chaine de caractères
Résolu
jebok
Messages postés
371
Date d'inscription
Statut
Membre
-
Ano -
Ano -
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.
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
4 réponses
-
Essaye voir avec "tr" :
cat le_fichier | tr -s ' ' '\n'
mais faudra passer par un fichier temporaire. (le paramètre "-s" n'est là pour que pour supprimer les lignes vides) -
Salut,
Essaie ça :sed -i 's/ /\n/g' le_fichier
Dans un 1er temps essaie sans le paramètre "-i" (il sert à reécrire directement dans le même fichier sans passer par un fichier temporaire). -
Pourtant chez moi ça marche :
[jp@Mandrake tmpfs]$ cat texte.txt 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 [jp@Mandrake tmpfs]$ sed 's/ /\n/g' texte.txt 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 [jp@Mandrake tmpfs]$
;-)) -
il faut découper la chaîne en mot. essayes ceci
strtok($string, " ");
Il découpe une chaîne de caractère en mots. il retourne à la ligne après chaque espace