Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juillet 2012
    Messages : 28
    Points : 20
    Points
    20

    Par défaut Comment remplacer une chaine par une autre toutes les 10 occurence de la première chaine ?

    Bonjour,

    Je voudrais mettre un retour chariot toute les 10 occurences de "0xnn ".

    J'ai un fichier qui contient une seule ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 0x99 0xAA 0xBB 0xCC 0xDD 0xEE 0xFF 0x01 0x22 0x65 0x87 0x87 0x45 0x65 etc...
    et je voudrais obtenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 0x99 0xAA
    0xBB 0xCC 0xDD 0xEE 0xFF 0x01 0x22 0x65 0x87 0x87
    0x45 0x65 etc...
    En faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sed -e "s+\( [0-9A-Fx]* [0-9A-Fx]* [0-9A-Fx]* [0-9A-Fx]* [0-9A-Fx]* [0-9A-Fx]* [0-9A-Fx]* [0-9A-Fx]* [0-9A-Fx]* [0-9A-Fx]* \)+\1\n+g"
    ça fonctionne. Mais n'y a-t-il pas une expression régulière plus simple ?

    Merci

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    janvier 2011
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : janvier 2011
    Messages : 1 871
    Points : 5 995
    Points
    5 995

    Par défaut

    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -r 's/([^ ]* ){10}/&\n/g'
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    février 2008
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 5 269
    Points : 13 706
    Points
    13 706

    Par défaut

    Bonjour,
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    janvier 2011
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : janvier 2011
    Messages : 1 871
    Points : 5 995
    Points
    5 995

    Par défaut

    Salut,
    Citation Envoyé par N_BaH Voir le message
    <ModeFernandelON>
    Félicie(tation) aussi
    <ModeFernandelOFF>
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juillet 2012
    Messages : 28
    Points : 20
    Points
    20

    Par défaut

    Super merci !
    Je connaissais pas fold, et ca répond au besoin en fait ...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    août 2010
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2010
    Messages : 251
    Points : 433
    Points
    433

    Par défaut

    Bonjour,
    Avec les données d'entrée, on doit pouvoir utiliser dd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dd if=infile of=outfile conv=unblock cbs=50
    Cordialement.

  7. #7
    Expert éminent Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    décembre 2012
    Messages
    2 968
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : décembre 2012
    Messages : 2 968
    Points : 8 321
    Points
    8 321

    Par défaut

    Perso, j'aime bien aussi avec xargs:
    Qui selon certain besoin, peut-être plus pratique:
    fichier à traiter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $ cat /tmp/foo.txt 
    0x11 0x22 0x33 0x44 0x55 
    0x66 0x77 0x88 0x99 0xAA 0xBB 0xCC 0xDD 0xEE 0xFF 0x01 0x22 
    0x65 0x87 0x87 0x45 0x65
    avec fold:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ fold -sw54  /tmp/foo.txt 
    0x11 0x22 0x33 0x44 0x55 
    0x66 0x77 0x88 0x99 0xAA 0xBB 0xCC 0xDD 0xEE 0xFF 
    0x01 0x22 
    0x65 0x87 0x87 0x45 0x65
    avec xargs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $ xargs -s 55 -a /tmp/foo.txt 
    0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 0x99 0xAA
    0xBB 0xCC 0xDD 0xEE 0xFF 0x01 0x22 0x65 0x87 0x87
    0x45 0x65
    Bon, après, ça dépend du besoin...
    Cordialement.

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2008
    Messages
    1 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2008
    Messages : 1 808
    Points : 4 898
    Points
    4 898

    Par défaut

    Citation Envoyé par disedorgue Voir le message
    avec xargs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $ xargs -s 55 -a /tmp/foo.txt 
    0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 0x99 0xAA
    0xBB 0xCC 0xDD 0xEE 0xFF 0x01 0x22 0x65 0x87 0x87
    0x45 0x65
    Bon, après, ça dépend du besoin...
    Excellent!

    Variante pour ceux qui "bénéficient" d'un xargs sans l'option -a (genre posix, macos...):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xargs -s 55 < /tmp/foo.txt
    ou, pour les fans d'uuoc cat /tmp/foo.txt | xargs -s 55

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplacer un element d'une collection par un autre element
    Par pascalwick dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 02/06/2010, 10h54
  2. [XL-2007] [FORM] remplacer la valeur d'une cellule par une autre
    Par coldavires dans le forum Excel
    Réponses: 7
    Dernier message: 21/01/2010, 23h34
  3. Remplacer lettres contenues dans une variable par d'autres lettres
    Par AZzjeioafh dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 02/12/2009, 19h53
  4. Remplacer un mot ou une expression par un autre via XSLT?
    Par poisson03 dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 03/06/2009, 02h55
  5. Réponses: 10
    Dernier message: 20/09/2006, 13h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo