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 :

remplacer underscore par espace


Sujet :

Shell et commandes GNU

  1. #1
    Membre habitué
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Points : 138
    Points
    138
    Par défaut remplacer underscore par espace
    Bonjour
    je travaille sur un script shell en .sh
    je vous explique mon problème je récupère un argument sous la forme ${tableau[2]}
    dedans il y a un argument du style ceci_est_un_argument et j'aimerai le transformer en ceci est un argument avez vous une idée s'il vous plait ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Hello,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo ${tableau[2]} | sed -e 's/_/ /g'

  3. #3
    Membre habitué
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Points : 138
    Points
    138
    Par défaut
    c'est ce que je voulais merci, mais j'aimerai mettre cette valeur dans un nouvelle argument comment puis-je procéder?

  4. #4
    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
    echo ${tableau[2]//_/ }

  5. #5
    Membre chevronné

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Points : 1 894
    Points
    1 894
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $ echo $TEST
     
    $ TOTO=exemple_remplace
    $ echo $TOTO
    exemple_remplace
    $ TEST=${TOTO//_/ }
    $ echo $TEST
    exemple remplace
    edit: erf, grillé :/

    Sinon, pour la première solution plus portable, tu peux l'utiliser ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ TEST=`echo $TOTO | sed 's/_/ /g'`
    $ echo $TEST
    exemple remplace

  6. #6
    Membre habitué
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Points : 138
    Points
    138
    Par défaut
    Merci beaucoup j'ai limite trop de choix ^^
    Maintenant que je vous tiens je vais en profiter car je suis face à un problème que je ne sais pas résoudre
    Comment fait on pour faire un grep d'une chaine de caractère du style

    grep coucou les amis

    ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Pour prendre la chaine de caractères avec les espaces. tu dois l'encadrer de simple quotes


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    grep 'blalblaa baabjbaa bajaab'

  8. #8
    Membre habitué
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Points : 138
    Points
    138
    Par défaut
    je vous explique mieux mon probleme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    root@ABFNAGIOSDEV:/opt/test/Script/eth# snmpwalk -v 2c -c public 192.168.20.20 .1.3.6.1.2.1.2.2.1.2 | grep Broadcom
     
    IF-MIB::ifDescr.65539 = STRING: Broadcom NetXtreme Gigabit Ethernet
     
    root@ABFNAGIOSDEV:/opt/test/Script/eth# snmpwalk -v 2c -c public 192.168.20.20 .1.3.6.1.2.1.2.2.1.2 | grep Broadcom NetXtreme Gigabit Ethernet
     
    grep: NetXtreme: No such file or directory
    grep: Gigabit: No such file or directory
    grep: Ethernet: No such file or directory
    donc lorsque je ne met que Broadcom il me trouve un truc si je met un deuxieme mot ou le nom entier de la carte il ne me trouve plus rien

  9. #9
    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
    Citation Envoyé par fbb53 Voir le message
    Comment fait on pour faire un grep d'une chaine de caractère du style

    grep coucou les amis

    ?
    Tu mets des quotes autour...

  10. #10
    Membre habitué
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Points : 138
    Points
    138
    Par défaut
    je vais toujours chercher top loin moi
    Merci pour vos réponses

  11. #11
    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
    Forcément si tu édites entre temps, j'ai presque l'air d'un neuneu avec ma réponse

    Sinon si tu cherches plusieurs motifs à la fois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -E 'Broadcom|NetXtreme|Gigabit|Ethernet'

  12. #12
    Membre habitué
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Points : 138
    Points
    138
    Par défaut
    je pensais avoir résolu mon problème mais un nouveau est apparu ^^

    si je fais grep 'Broadcom NetXtreme Gigabit Ethernet'
    j'ai ce que je veux
    mais si je fait

    grep '$nom1'

    avec nom1=${tableau[2]} | sed -e 's/_/ /g'
    ou
    nom1=${tableau[2]//_/ }

    J'ai une erreur donc je suis en train de me dire qu'il y a des espace a la fin de ma ligne car si je fais
    grep 'Broadcom NetXtreme Gigabit Ethernet '

    avec un espace a la fin j'obtiens la même erreur

    Avez ou une idée pour enlever les espaces en fin de ligne?

  13. #13
    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
    Pour qu'une variable soit interprétée il faut la quoter avec des doubles-quotes.


  14. #14
    Membre habitué
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Points : 138
    Points
    138
    Par défaut
    un GROS merci
    ça a l'air si simple pour vous ^^

  15. #15
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par fbb53 Voir le message
    un GROS merci
    ça a l'air si simple pour vous ^^
    Si tu prends la peine de lire des tutoriaux sur le shell et le scripting. ça le sera tout autant pour toi

  16. #16
    Membre averti Avatar de FRUiT
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2011
    Messages : 83
    Points : 337
    Points
    337
    Par défaut
    Citation Envoyé par fbb53 Voir le message
    je vais toujours chercher top loin moi
    LOL

    Sans vouloir te froisser, je pense que ton problème est l'inverse : tu ne cherches carrément pas du tout...

  17. #17
    Membre habitué
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Points : 138
    Points
    138
    Par défaut
    bon aller je vous sens motivés donc j'en profite

    si je fais un grep 'BASP Virtual Adapter' j'obtiens 3 réponses et j'aimerai récupérer seulement BASP Virtual Adapter donc j'aimerais que cela corresponde exactement à mon grep vous voyez ce que je veux dire?


    BASP Virtual Adapter #3
    BASP Virtual Adapter #2
    BASP Virtual Adapter

  18. #18
    Membre habitué
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Points : 138
    Points
    138
    Par défaut
    Citation Envoyé par FRUiT Voir le message
    LOL

    Sans vouloir te froisser, je pense que ton problème est l'inverse : tu ne cherches carrément pas du tout...
    je n'ai pas dis cela dans le sens de trop chercher ce que je voulais dire c'est que a chaque fois je me dis qu'il faut faire une commande a rallonge avec un awk ou autre alors que des fois il faut juste mettre des guillemet ou cote. Ensuite on à pas tous le même niveau en programmation et dans mon cas je n'ai que des bases.

  19. #19
    Membre averti Avatar de FRUiT
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2011
    Messages : 83
    Points : 337
    Points
    337
    Par défaut
    J'avais compris merci L'occasion était trop belle pour ne pas te faire la remarque c'est tout. Humour humour, etc...

  20. #20
    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
    Citation Envoyé par fbb53 Voir le message
    bon aller je vous sent motiver donc j'en profite

    si je fais un grep 'BASP Virtual Adapter' j'obtiens 3 réponses et j'aimerai récupérer seulement BASP Virtual Adapter donc j'aimerai que cela corresponde exactement a mon grep vous voyez ce que je veux dire?


    BASP Virtual Adapter #3
    BASP Virtual Adapter #2
    BASP Virtual Adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep 'BASP Virtual Adapter$'
    Si toutefois l'exemple que tu as posté est bien conforme à la réalité...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Upload de fichier : remplace underscore par tiret
    Par Saphir09 dans le forum Langage
    Réponses: 9
    Dernier message: 31/05/2011, 13h12
  2. [.htaccess] Remplacer underscore par tiret dans les URL
    Par randriano dans le forum Apache
    Réponses: 18
    Dernier message: 20/10/2010, 17h46
  3. Réponses: 1
    Dernier message: 06/12/2006, 17h24
  4. [AJAX] Methode post remplace + par espace
    Par dgedge dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/07/2006, 10h09
  5. [SQL] remplacement d'un espace ou d'une apostrophe par un tiret bas
    Par jophp dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 25/06/2006, 22h56

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