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 :

Extraire des lignes d'un fichier en commande bash


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 30
    Points : 26
    Points
    26
    Par défaut Extraire des lignes d'un fichier en commande bash
    Bonjour

    alors j'ai une installation linux Redhat ES 2.1. sur lequel j'ai un fichier

    $HOME/toto.txt qui contient ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <BOF>
    blalba
     
    BEGIN
    ligne_a_extraire
    ligne_a_extraire_aussi
     
    END
    <EOF>
    j'aimerai faire un script (en bash ou ksh) pour extraire les lignes comprises entre le "BEGIN" et le "END"... j'ai regarde avec awk ou sed mais je n'y arrive pas....

    merci !

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    il s epeut que ce soit ta seule chance je te dirais essaye grep mais je sais pas s'il a la puissance suffisante, et il te faudrait faire un pipe et de toutes je ne vois que les RE pour ton pb

  3. #3
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    awk '{print $3}' $nomfichier
    # Affiche le champ #3 du fichier $nomfichier sur stdout.
     
    awk '{print $1 $5 $6}' $nomfichier
    # Affiche les champs #1, #5 et #6 du fichier $nomfichier.
    Ce code peut peut-être t'aider
    .Olivier

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 30
    Points : 26
    Points
    26
    Par défaut
    j'ai trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    awk "/BEGIN/,/END/" toto.txt | sed /^$/d |grep -v BEGIN |grep -v END
    le premier pipe ramene les lignes entre BEGIN et END
    le deuxieme vire les lignes blanches
    le troisieme vire les lignes avec BEGIN
    le quatrieme vire les lignes avec END

    youpi !!!!

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

Discussions similaires

  1. Extraire des lignes d'un fichier (shell unix)
    Par guicecal dans le forum Unix
    Réponses: 2
    Dernier message: 22/01/2010, 13h49
  2. Extraire des lignes d'un fichier .csv
    Par cre31400 dans le forum Fortran
    Réponses: 5
    Dernier message: 27/11/2009, 13h56
  3. Extraire des lignes d'un fichier ini en Batch
    Par yoyo612 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 21/07/2008, 20h25
  4. Réponses: 14
    Dernier message: 16/07/2008, 11h47
  5. Extraire des lignes d'un fichier
    Par Scal-tn dans le forum Administration système
    Réponses: 3
    Dernier message: 20/04/2008, 13h39

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