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

Unix Discussion :

Extraction de chaines : grep, awk - Comment faire ?


Sujet :

Unix

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Par défaut Extraction de chaines : grep, awk - Comment faire ?
    Bonjour,

    je suis un peu nouveau en shell Unix, et je suis un peu perdu !

    J'ai un besoin assez urgent :

    j'ai un répertoire avec des fichiers,
    .1 - je dois trouver quels fichiers contiennent une chaine de caractère (par exemple 'toto'),
    .2 - je veux stocker la liste de fichiers dans un fichier que j'appelle liste
    puis :
    .3 - je veux extraire les lignes dans lesquelles j'ai trouvé la chaine 'toto' et les assembler dans un autre fichier que j'appelle sortie.


    Donc je commence comme ça :
    .1 et .2 : ça me donne les noms de fichiers puis ça les stocke dans liste
    grep -il toto *.fic > liste 2>&1

    J'ai donc isolé la liste de fichiers.
    C'est pour le .3 que j'ai du mal.
    Je voudrais mettre dans un tableau la liste de fichiers qui est dans liste,
    puis pour chaque valeur du tableau (qui est donc le nom d'un fichier), utiliser la commande awk pour chercher les lignes contenant 'toto' et copier cette ligne et la suivante dans le fichier sortie


    Auriez-vous une idée de ce qu'il faut écrire pour le .3 ?
    Comment mettre les éléments de liste dans un tableau ?
    Comment dire à awk de chercher 'toto' et de copier la ligne et la suivante dans sortie ?


    Merci beaucoup pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    Par défaut que du grep, pas de awk
    si tu peux faire cela en 2 commandes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -il toto * > liste
    te donnera la liste des fichiers qui contiennent au moins une fois "toto" dans toutes les cases possibles

    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -ih toto * > sortie
    te donnera toutes les lignes contenant "toto" dans toutes les cases possibles

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/08/2008, 13h27
  2. Awk et kill : comment faire?
    Par michaeljeru dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 23/02/2008, 20h02
  3. Réponses: 3
    Dernier message: 14/02/2007, 22h33
  4. Réponses: 3
    Dernier message: 11/12/2006, 21h31
  5. Comment faire un explode sur une chaine comme suit ?
    Par sebnutt dans le forum Langage
    Réponses: 3
    Dernier message: 07/06/2006, 11h59

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