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 :

Script shell: afficher le texte entre 2 bornes.


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Script shell: afficher le texte entre 2 bornes.
    Bonjour,
    j'ai lu pas mal de posts, et j' n'arrive pas a trouver une solution a mon problème:
    je cherche à afficher tous ce qui se trouve entre 2 bornes dans une phrase.
    Pour mon cas je veux tout ce qu'il se trouve entre la borne < et >.
    Exemple, dans la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -peer=<SERVER_IP>:<SERVER_PORT> -hiding=NO_HINDING -domain=<CLIENT_IP>
    j'aimerais avoir :
    SERVER_IP
    SERVER_PORT
    CLIENT_IP

    Or, en utilisant la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "-peer=<SERVER_IP>:<SERVER_PORT> -hiding=NO_HINDING -domain=<CLIENT_IP>" | sed -n 's/.*<\(.*\)>.*/\1/p'
    je n'ai que ma derniere occurance :
    CLIENT_IP

    quelqu'un aurait une idée (sed/awk/grep ... je suis ouvert a tout )

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Ha !! vous embetez pas j'ai trouvé une solution, qui n'est pas forcement toute jolie, mais qui est fonctionnelle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "-peer=<SERVER_IP>:<SERVER_PORT> -hiding=NO_HINDING -domain=<CLIENT_IP>" | sed 's/</\n</g' |sed -n 's/.*<\(.*\)>.*/\1/p'
    nous donne:
    SERVER_IP
    SERVER_PORT
    CLIENT_IP

  3. #3
    Membre averti Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Points : 300
    Points
    300
    Par défaut
    Un truc pas très propre mais qui marche dans ce cas ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ~$ echo '-peer=<SERVER_IP>:<SERVER_PORT> -hiding=NO_HINDING -domain=<CLIENT_IP>' | tr '<' '\n' | grep '>'| sed 's/>.*//'
    SERVER_IP
    SERVER_PORT
    CLIENT_IP

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 410
    Points : 23 809
    Points
    23 809
    Par défaut
    Ou sinon, pour retrouver tout ce qui se trouve entre « <…> » :

    Code Shell : Sélectionner tout - Visualiser dans une fenêtre à part
    $ echo "-peer=<SERVER_IP>:<SERVER_PORT> -hiding=NO_HINDING -domain=<CLIENT_IP>" | grep -o "<\([^>]*\)>" | sed -e 's/<//g;s/>//g'

Discussions similaires

  1. script shell : comparer 2 répertoires entre eux
    Par Chicna dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 19/09/2011, 19h42
  2. Script shell : afficher le contenu des variables entre simple quote
    Par mualki dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 23/01/2010, 01h14
  3. Réponses: 2
    Dernier message: 22/10/2009, 02h26
  4. Comment afficher du texte entre 2 requêtes ?
    Par Krys006 dans le forum Débuter
    Réponses: 2
    Dernier message: 15/05/2008, 22h21
  5. Réponses: 1
    Dernier message: 27/10/2007, 23h18

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