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 :

grep ou bien awk


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Superviseur de Hotline
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Superviseur de Hotline

    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Par défaut grep ou bien awk
    Salut;

    j'ai un fichier qui continent ce qui suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    BTS type: Flexi LTE
    IP address: **.**.**.**
    Site name: BARL012
    BTS ID: 12012
    SW version: FL15A_ENB_0107_001198_000027
    Progress: OK
    Site operational state: BTS integrated to RAN
    Working state: Faulty cells 6/6
    Blocking state: Unblocked cells 6/6
     
    BTS type: Flexi LTE
    IP address: **.**.**.**
    Site name: BARL027
    BTS ID: 12027
    SW version: FL15A_ENB_0107_001198_000027
    Progress: OK
    Site operational state: On air
    Working state: Faulty cells 1/6
    Blocking state: Unblocked cells 6/6

    comment je peux avoir le sortie suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Site name: BARL012         Blocking state: Unblocked cells 6/6
    Site name: BARL027         Blocking state: Unblocked cells 6/6

    Merci d'avance

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    Bonjour,

    quels sont les critères pour retenir une ligne plutôt qu'une autre ?

    avec sed (un peu difficile), en jouant avec le hold space.
    avec awk (qui a un langage plus semblable au shell), en concaténant les lignes dans une variable-tableau.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre du Club
    Homme Profil pro
    Superviseur de Hotline
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Superviseur de Hotline

    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Par défaut
    Salut N_BaH;

    Merci pour votre réponse.


    je veux bien garder deux lignes:

    1er ligne : commence par "Site name:"
    2éme ligne : commence par "Blocking state:"

    Merci d'avance

  4. #4
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Une méthode avec awk:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '/Site name:/ {printf("%s\t",$0)} /Blocking state:/'

  5. #5
    Membre du Club
    Homme Profil pro
    Superviseur de Hotline
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Superviseur de Hotline

    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Par défaut
    Citation Envoyé par jlliagre Voir le message
    Une méthode avec awk:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '/Site name:/ {printf("%s\t",$0)} /Blocking state:/'
    Merci, et bravo

  6. #6
    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

    Donc si on se résume, tu as bon affichage et tu veux le transformer en un affichage dégoûtant...
    Et, pour quoi faire ?

    Ton fichier d'entrée est ré-exploitable. Pas ta sortie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ sed -n '/^Site name/{x;s/\n/\;/p};/^Blocking state/H;${g;s/\n/\;/p}' fichier
    Site name: BARL012;Blocking state: Unblocked cells 6/6
    Site name: BARL027;Blocking state: Unblocked cells 6/6

  7. #7
    Membre du Club
    Homme Profil pro
    Superviseur de Hotline
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Superviseur de Hotline

    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Bonjour

    Donc si on se résume, tu as bon affichage et tu veux le transformer en un affichage dégoûtant...
    Et, pour quoi faire ?

    Ton fichier d'entrée est ré-exploitable. Pas ta sortie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ sed -n '/^Site name/{x;s/\n/\;/p};/^Blocking state/H;${g;s/\n/\;/p}' fichier
    Site name: BARL012;Blocking state: Unblocked cells 6/6
    Site name: BARL027;Blocking state: Unblocked cells 6/6

    Merci pour ta réponse, j'ai besoin de la sortie pour faciliter le traitement avec excel. le fichier source est exporter d'un autre system.

    pour la commande j'ai l'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed: command garbled: /^Site name/{x;s/\n/\;/p};/^Blocking state/H;${g;s/\n/\;/p}

  8. #8
    Membre éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2015
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2015
    Messages : 47
    Par défaut
    Bonjour,

    Grep et paste font cela très bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    [plonky@netmonk ~]$ cat test42
    BTS type: Flexi LTE
    IP address: **.**.**.**
    Site name: BARL012
    BTS ID: 12012
    SW version: FL15A_ENB_0107_001198_000027
    Progress: OK
    Site operational state: BTS integrated to RAN
    Working state: Faulty cells 6/6
    Blocking state: Unblocked cells 6/6
     
    BTS type: Flexi LTE
    IP address: **.**.**.**
    Site name: BARL027
    BTS ID: 12027
    SW version: FL15A_ENB_0107_001198_000027
    Progress: OK
    Site operational state: On air
    Working state: Faulty cells 1/6
    Blocking state: Unblocked cells 6/6
    [plonky@netmonk ~]$ grep -i 'Site Name\|Blocking State' test42 |paste - - -d" "
    Site name: BARL012 Blocking state: Unblocked cells 6/6
    Site name: BARL027 Blocking state: Unblocked cells 6/6
    [plonky@netmonk ~]$

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/03/2010, 13h04
  2. Réponses: 6
    Dernier message: 13/03/2010, 10h02
  3. utilisation grep sort awk
    Par qouify dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 02/04/2009, 15h23
  4. Commange Grep dans Awk
    Par lili_bzh dans le forum Linux
    Réponses: 1
    Dernier message: 10/01/2006, 11h49
  5. [PERL] un grep qui ne fonctionne pas bien
    Par LE NEINDRE dans le forum Langage
    Réponses: 6
    Dernier message: 03/11/2005, 16h37

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