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

Linux Discussion :

commande sed sous UNIX


Sujet :

Linux

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Points : 168
    Points
    168
    Par défaut commande sed sous UNIX
    bonjour je débute en shell...
    je m'entraine par de petit exercice tout simple,

    je me trouve confronter a un mur à cette question
    :

    On considérera qu'un mot est un ensemble de caractères ne contenant pas d'espace (mais pouvant contenir d'autres séparateurs).

    Je␣suis␣une␣␣phrase.

    Devient

    MOT␣MOT␣MOT␣␣MOT

    Donner la ligne de commande permettant de remplacer tous les mots par le texte suivant : MOT
    On ne changera pas le nombre d'espaces entre les mots.

    j'écris ça :
    mais c'est faux

    Qui peut m'aider ?
    Merci d'avance
    DoDo

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    Au lieu de changer "tout_caractère" par M
    il faut faire changer "tout caractère non autre que _ " par M

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ echo j_a_b_c | sed "s/[^_]/M/g"
    M_M_M_M
    $

  3. #3
    Membre éclairé Avatar de messinese
    Homme Profil pro
    IT Security Consultant
    Inscrit en
    Septembre 2007
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IT Security Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 429
    Points : 876
    Points
    876
    Par défaut
    Salut,

    N'ayant pas d'Unix sous la main , je dirait que selon l'énnoncé un petit
    permettrant non pas de selectionner un caractere mais un mot serait ici approprié mais je me trompe peu etre, a tester donc ..

    Cordialement.

  4. #4
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    Citation Envoyé par messinese Voir le message
    Salut,

    N'ayant pas d'Unix sous la main , je dirait que selon l'énnoncé un petit
    permettrant non pas de selectionner un caractere mais un mot serait ici approprié mais je me trompe peu etre, a tester donc ..

    Cordialement.
    la tu ne prends pas les chiffres ou les caracteres - " ' [ ( etc.... du coup

  5. #5
    Membre habitué Avatar de eric-m
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 62
    Points : 145
    Points
    145
    Par défaut
    Il faut rajouter l'asterix, sinon on remplace chaque caractère par MOT

  6. #6
    Expert éminent

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo "Je suis    une  phrase" | sed 's/[^ ][^ ]*/MOT/g'
    MOT MOT    MOT  MOT
    Sans le double [^ ][^ ]* on est marron
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo "Je suis    une  phrase" | sed 's/[^ ]*/MOT/g'
    MOT MOT MOT MOT MOT MOT MOT MOT
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  7. #7
    Membre éclairé Avatar de messinese
    Homme Profil pro
    IT Security Consultant
    Inscrit en
    Septembre 2007
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IT Security Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 429
    Points : 876
    Points
    876
    Par défaut
    Citation Envoyé par frp31 Voir le message
    la tu ne prends pas les chiffres ou les caracteres - " ' [ ( etc.... du coup
    Salut , oui c'est volontaire car je ne veux pas remplacer les underscores ou autre caracteres spéciaux .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo "Je suis    une  phrase" | sed 's/[^ ][^ ]*/MOT/g'
    MOT MOT    MOT  MOT
    Je pense qu'avec , comme tu l'avais précédemment fait un double et ton étoile
    *
    on doit etre bon , y'a plus qu'a tester et passer en résolu .

Discussions similaires

  1. commande sed sous solaris
    Par boo64 dans le forum Shell et commandes POSIX
    Réponses: 0
    Dernier message: 28/03/2012, 18h39
  2. Reports 6i en ligne de commande sous unix
    Par karamasov59 dans le forum Reports
    Réponses: 0
    Dernier message: 17/01/2008, 10h32
  3. commande sous unix (liens)
    Par acacia dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 21/12/2007, 12h22
  4. Commande inconnue sous Unix
    Par apqmwnqmap dans le forum Administration système
    Réponses: 2
    Dernier message: 22/10/2007, 11h08
  5. commande java sous unix
    Par root76 dans le forum Langage
    Réponses: 4
    Dernier message: 01/03/2007, 11h43

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