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 :

commande awk + sortie en deux fichiers


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier

    Inscrit en
    Août 2007
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 308
    Points : 100
    Points
    100
    Billets dans le blog
    1
    Par défaut commande awk + sortie en deux fichiers
    Bonjour
    je voudrais écrire un petit programme awk qui me permets de lire un fichier et de retourner le résultat selon un critére: toutes les lignes qui présentent le critére dans un fichier 1 et les autres dans un fichier 2
    est ce possible de faire ça avec awk, (deux sorties) pour une seule commande?

    si c'est oui, merci de m'aider

  2. #2
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    3 exemples
    http://www.shellunix.com/awk.html
    http://lea-linux.org/cached/index/Dev-awk.html


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    awk -F";" '
    {
        if ($2 ~ /CRITERE/) {
            print $0 > "fichier1" 
        } else { 
            print $0 > "fichier2" 
        }
    } ' test.txt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    awk -F";" '
    BEGIN {
        of1="fichier1"
        of2="fichier2"
    }
    {
        if ($2 == "CRITERE") {
            print $0 > of1
        } else {
            print $0 > of2
        }
    } ' test.txt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    varShell1="fichier1"
    varShell2="fichier2"
     
    awk -F";" -v of1=$varShell1  -v of2=$varShell2 '
    {
        if ($2 == "CRITERE") {
            print $0 > of1 
        } else {
            print $0 > of2 
        }   
    } ' test.txt

  3. #3
    Membre régulier

    Inscrit en
    Août 2007
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 308
    Points : 100
    Points
    100
    Billets dans le blog
    1
    Par défaut
    merci

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

Discussions similaires

  1. Commande awk pour comparer deux fichiers
    Par miketidy dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 15/03/2010, 19h45
  2. Commande AWK ou SED pour modification données dans fichier
    Par desbrandesq dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 29/01/2008, 17h56
  3. commande awk-fichier vide
    Par rico3434 dans le forum Linux
    Réponses: 3
    Dernier message: 30/10/2007, 13h32
  4. Recheche commande AWK pour afficher une liste de fichiers
    Par Krispy dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 21/07/2006, 11h36
  5. Réponses: 5
    Dernier message: 09/01/2005, 19h54

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