Substitution / plusieurs solutions ?

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

j'ai un fichier "new" contenant une ligne de chiffres:
123456

je souhaite pouvoir insérer un espace entre les 3 premiers et les 3 derniers de sorte que l'on obtienne :
123 456

j'ai trouvé la solution avec SED, grâce à ce tutoriel bien sympa =>
http://www.commentcamarche.net/faq/sujet 9559 sed introduction a sed part ii

=> sed 's/\([0-9]\)\{3\}/& /' new

auriez vous d'autres façons "plus simples" par hasard, de faire cette opération que ce soit avec sed ou avec une autre commande ?

Merci merci
++
Poulpoul

5 réponses

gigaga Messages postés 2347 Date d'inscription   Statut Membre Dernière intervention   301
 
Ben avec sed, c'est déjà tres simple. Tu vas avoir du mal à faire plus simple!
1
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 569
 
Salut,

D'autres variantes (vu que tu as seulement des chiffres)
lami20j@debian:~/trash$ cat a
123456
123456
123456
lami20j@debian:~/trash$ sed 's/\(.\{3\}\)/\1 /' a
123 456
123 456
123 456
lami20j@debian:~/trash$ perl -ne's/^(.{3})/$1 /;print' a
123 456
123 456
123 456
1
Utilisateur anonyme
 
ah ... d'accord ..
je pensais que je me compliquais un peu la vie,
je pensais qu'il existait une autre solution avec cut ou un autre outil par exemple ...

++
Poulpoul
0
Utilisateur anonyme
 
Bonjour,

lami20j@debian:~/trash$ sed 's/\(.\{3\}\)/\1 /' a
123 456
123 456
123 456

intéressant cette solution merci

++
Poulpoul
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Ce qui revient au même que :
sed 's/.\{3\}/& /'
;-))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
yop,

ah oui fatalement, pas bête, c'est simplifié au max là

encore merci

++
0