Substitution / plusieurs solutions ?

Résolu
Poulpoul -  
 Poulpoul -
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
Configuration: Ubuntu 7.10

5 réponses

  1. 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
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
  3. Poulpoul
     
    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
  4. Poulpoul
     
    Bonjour,

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

    intéressant cette solution merci

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

      Ce qui revient au même que :
      sed 's/.\{3\}/& /'
      ;-))
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Poulpoul
     
    yop,

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

    encore merci

    ++
    0