Création
d'entreprise

Sed - Insérer un espace entre chaque lettre


Insérer un espace entre chaque lettre


$ echo -e "bonjour la vie\net bonjour à toi" | sed 's/./& /g'
b o n j o u r   l a   v i e
e t   b o n j o u r   à   t o i
L'inconvénient c'est que l'espace naturel entre chaque mot est doublé. Pour pallier à ce petit désagrément il suffit d'ajouter :
$ echo -e "bonjour la vie\net bonjour à toi" | sed 's/./& /g;s/  / /g'
b o n j o u r  l a  v i e
e t  b o n j o u r  à  t o i
$  

Voici encore une variante. Par rapport à la précédente le remplacement et fait dans un seul coup de s///
$ echo -e "bonjour la vie\net bonjour à toi" | sed -r 's/([^ ])/\1 /g'
b o n j o u r  l a  v i e
e t  b o n j o u r  à  t o i

Pour ne pas utiliser l'option -r on peut écrire
 sed 's/\([^ ]\)/\1 /g'

Classe de caractères complémentée [^...]


[^...] - est une classe de caractères complémentée qui signifie "reconnaître un caractère non énuméré" et non "ne pas reconnaître un caractère énuméré".
Dans notre cas on peut traduire "reconnaître un caractère qui n'est pas espace".
Publié par jipicy - Dernière mise à jour le 18 novembre 2009 à 19:15 par marlalapocket
Ce document intitulé « Sed - Insérer un espace entre chaque lettre » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  Sed - Insérer un espace entre chaque lettre
  •  Sed - Insérer des espacements » Fiches pratiques : Espacement dans un fichier * Ajouter une ligne blanche après chaque phrase (ponctuée par un retour chariot) : sed G fichier.txt Ajouter une ligne blanche après chaque phrase (ponctuée par un retour chariot), sans tenir compte des lignes...
  •  Sed - Insertion de texte » Fiches pratiques : Insérer du texte dans un fichier Introduction Syntaxe Ajout de texte Insérer une ligne avec "i" Ajouter une ligne avec "a" Échanger une ligne avec "c" Introduction Il est parfois utile de pouvoir insérer du texte en en-tête d'un ou...
  •  Espace en HTML » Fiches pratiques : En HTML, les espaces consécutifs sont ignorés par les navigateurs, au même titre que les retours chariots ou les tabulations. Pour insérer plusieurs espaces consécutifs, il est nécessaire d'utiliser une entité HTML spécifique, appelée espace...
  •  Problème word barre d'espace (Résolu) » Meilleure réponse: Peut-être que le mode Refrappe est enclenché si au bas de l'écran tu vois RFP en noir alors appuie sur Insert une fois, il devient grisé et devrait corriger le problème.
  •  LaTeX - Mise en forme » Articles : Style Les commandes suivantes permettent de modifier le style du texte : \textbf{texte à mettre en gras} permet d'écrire du texte en caractères gras. \textit{texte à mettre en italique} permet d'écrire en italique. \textsc{texte à mettre...
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Sed - Mettre la première lettre de chaque mot en majuscule
Sed - Insertion de texte