IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Shell et commandes GNU Discussion :

Mettre un # devant tous les éléments d'une ligne à partir du 4eme élément


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 64
    Par défaut Mettre un # devant tous les éléments d'une ligne à partir du 4eme élément
    Bonjour,

    Soit la ligne suivante :

    1234 DFSD 234324 324234 DFSFSDF 234234 3432 42432432324

    Je souhaiterais placer devant tous les champs arrivant après le 4eme élément le symbole #, soit :

    1234 DFSD 234324 #324234 #DFSFSDF #234234 #3432 #42432432324

    A savoir que le nombre d'éléments après le 4eme élément est variable.

    Auriez-vous une solution avec SED svp ?

    Merci

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    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 : 4 349
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo 1234 DFSD 234324 324234 DFSFSDF 234234 3432 42432432324 | sed 's/ / #/3g'
    1234 DFSD 234324 #324234 #DFSFSDF #234234 #3432 #42432432324

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 64
    Par défaut
    merci, j'avais pris le problème dans le mauvais sens, effectivement comme ça, ça va tout seul

    J'ai répondu trop vite, avec ma version de sed, ça donne ça :

    echo 1234 DFSD 234324 324234 DFSFSDF 234234 3432 42432432324 | sed 's/ / #/3g'
    1234 #DFSD #234324 #324234 #DFSFSDF #234234 #3432 #42432432324
    Une autre piste ?

  4. #4
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    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 : 4 349
    Par défaut
    Tu n'es pas sous gnu...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 1234 DFSD 234324 324234 DFSFSDF 234234 3432 42432432324 | sed -e ':a' -e 's/ [^#]/ #/3' -e 't a'

  5. #5
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Bonjour,

    pour rire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo 1234 DFSD 234324 324234 DFSFSDF 234234 3432 42432432324 |awk '{for (i=4;i<=NF;i++) $i="#"$i;} 1'
    1234 DFSD 234324 #324234 #DFSFSDF #234234 #3432 #42432432324
    Juste pour la rigueur, l'énoncé n'est pas correcte car ce n'est pas après le 4ème élément mais le 3ème.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/07/2011, 18h07
  2. Réponses: 3
    Dernier message: 17/03/2010, 14h50
  3. Réponses: 6
    Dernier message: 22/06/2007, 10h50
  4. Réponses: 2
    Dernier message: 16/03/2006, 19h07
  5. Réponses: 4
    Dernier message: 08/11/2005, 17h13

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