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 :

Problèmes dans un programme awk


Sujet :

Linux

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 45
    Points : 44
    Points
    44
    Par défaut Problèmes dans un programme awk
    Bonjour,

    je souhaiterais écrire un programme awk qui découpe un fichier en plusieurs autres. Mais j'ai le message d'erreur suivant : Field $() is not correct, à la ligne 17.

    L'appel de mon programme se fait de la manière suivante :
    awk -f 'decoupage.awk' $fichierADecouper

    Et le programme se présente de la manière suivante :
    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
    #!/usr/bin/awk -f
     
    BEGIN {
    	nbFichier = 1
    	tailleMax = 200
    }
     
    NR == 1 {
    	tailleEntete = length($0)
    	ligneEntete = $0
    }
     
    tailleEnvoyee = tailleEnvoye + length($0)
     
    tailleEnvoyee < (tailleMax - tailleEntete * NR - ORS * NR) {
    	$0 > '$fichierADecouper nbFichier'
    } -- c'est la ligne 17
     
    tailleEnvoyee >= (tailleMax - tailleEntete * NR - ORS * NR) {
    	nbFichier++
    	ligneEntete > '$fichierADecouper nbFichier' -- une ligne d'entete doit etre présente au début de chaque fichier généré
    	$0 > '$fichierADecouper nbFichier'
    }
    Je pense qu'il y a plusieurs erreurs de syntaxe, notamment au niveau de la concaténation de mes numéros de fichiers.

    Merci.

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 45
    Points : 44
    Points
    44
    Par défaut
    Désolé à ce qui on lui mon code ci-dessous. Il était vraiment pourri.
    Le voici revu et corrigé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fichier.awk -F "|" -vdonnees="fichierADecouper.txt" -vtailleMax="300" -vdateExtract="20080513" fichierADecouper.txt
    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
    #!/usr/bin/awk -f
     
    begin {
    	nbFichier = 1;
    	fichierDonnees=donnees "." nbFichier;
    }
     
    {
    	tailleEnvoyee = tailleEnvoyee + length($0) + 1;
    	if (tailleEnvoyee < tailleMax) {
    		$0 >> fichierDonnees;
    	} -- ligne 12
    	else {
    		tailleEnvoyee=0;
    		nbFichier++;
    		fichierDonnees=donnees "." nbFichier;
    		print "100;" dateExtract > fichierDonnees;
    		$0 >> fichierDonnees;
    	} -- ligne 19
    }
    Mais j'obtiens toujours des erreurs :
    syntax error The source line is 12.
    The error context is
    $0 >>> >> <<<
    awk: The statement cannot be correctly parsed.
    The source line is 12.
    syntax error The source line is 19.
    Est ce que quelqu'un voit d'où vient le problème ? Merci.

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

Discussions similaires

  1. Problème dans un programme
    Par jeune ingénieure dans le forum Windows 7
    Réponses: 0
    Dernier message: 13/03/2011, 21h07
  2. [Débutant] Petit problème dans mon programme
    Par bsangoku dans le forum MATLAB
    Réponses: 8
    Dernier message: 22/04/2010, 16h19
  3. Problème dans mon programme
    Par zesister dans le forum Scheme
    Réponses: 17
    Dernier message: 02/05/2008, 02h39
  4. Erreur dans un programme awk
    Par gege87270 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 19/10/2007, 09h46
  5. problème dans un programme
    Par mederic dans le forum C
    Réponses: 5
    Dernier message: 13/05/2006, 16h53

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