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 :

Erreur avec Awk


Sujet :

Linux

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Points : 60
    Points
    60
    Par défaut Erreur avec Awk
    Bonjour,

    J'ai un script shell qui appelle un script AWK :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cat FiltreMsqUBB.spec | awk -f migrationFiltres.awk ifAlias 2 > toto.txt
    Voici mon script AWK :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    BEGIN {
      print $1;
      print $2;
    }
     
    {
     
    }
     
    END {
    }
    Dans ce dernier fichier (AWK), il y a des commentaires commençant par # au début du fichier.

    J'obtiens l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    awk: syntax error juste avant le BEGIN
    awk: bailing out juste avant le BEGIN
    Avez-vous déjà eu cette erreur ?
    Merci.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est quoi ton "ifAlias 2" ? Peux-tu mettre ton script awk en entier, avec les commentaires ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Points : 60
    Points
    60
    Par défaut AWK
    ifAlias 2 sont les 2 parametres que je passe à la fonction awk.

    Le code du fichier AWK est :
    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
    25
    26
    27
    28
     
    #!/usr/bin/awk -f
    #
    # Nom fichier : 	migrationFiltres.awk
    #
    # Version :		1.0
    #
    # Type de fichier :	Migration des masques 
    #
    # Description : 	Ce script permet d'ajouter une nouvelle colonne 
    #			nommée 'nouvCol' entre les colonnes 'colAvant' et 'colApres'
    #			2 paramètres : $1 pour le nom de la nouvelle colonne
    #				       $2 pour le numéro de la colonne précédente
    #
    # Date derniere modification 
    # 26/10/2005 xlr : création initiale
     
    BEGIN {
      print $1;
      print $2;
    }
     
    {
     
    }
     
    END {
    }

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Question idiote : c'est pas à cause des caractères accentués, des fois ?

    Ca passe bien chez moi, si ce n'est qu'il n'aime pas du tout le "ifAlias 2" : awk cherche à ouvrer des fichiers qui portent ce nom...

    Quelle version de awk et l'OS ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par _Mac_
    Question idiote : c'est pas à cause des caractères accentués, des fois ?

    Ca passe bien chez moi, si ce n'est qu'il n'aime pas du tout le "ifAlias 2" : awk cherche à ouvrer des fichiers qui portent ce nom...

    Quelle version de awk et l'OS ?
    L'OS est un SunOS5.8
    Pour la version d'AWK, je ne sais pas exactement.

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    ce n'est pas de cette facon que l'on passe des parametre a AWK (man awk)
    sauf erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     awk -v var1=par1 -v var2=par2 -f migrationFiltres.awk FiltreMsqUBB.spec 2 > toto.txt
    Marc
    Slackware for ever ......
    BASH - KSH ( http://marcg.developpez.com/ksh/ )

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par MarcG
    ce n'est pas de cette facon que l'on passe des parametre a AWK (man awk)
    sauf erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     awk -v var1=par1 -v var2=par2 -f migrationFiltres.awk FiltreMsqUBB.spec 2 > toto.txt
    J'ai toujours la même erreur.
    De plus, j'avais déjà utilisé AWK dans un autre projet en utilisant la 1ere syntaxe.

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Bien sûr, tu as vérifié qu'en virant tous tes commentaires, il n'y avait plus d'erreur ?

    Pour la version de awk, fais awk --version.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    ici (linux RHE3) sa tourne avec :
    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
    25
    26
    27
    28
     
    #!/usr/bin/awk -f
    #
    # Nom fichier :    migrationFiltres.awk
    #
    # Version :      1.0
    #
    # Type de fichier :   Migration des masques
    #
    # Description :    Ce script permet d'ajouter une nouvelle colonne
    #         nommée 'nouvCol' entre les colonnes 'colAvant' et 'colApres'
    #         2 paramètres : $1 pour le nom de la nouvelle colonne
    #                   $2 pour le numéro de la colonne précédente
    #
    # Date derniere modification
    # 26/10/2005 xlr : création initiale
     
    BEGIN {
      print var1;
      print var2;
    }
     
    {
     
    }
     
    END {
    }
    et commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    awk -v var1=par1 -v var2=par2 -f migrationFiltres.awk FiltreMsqUBB.spec
    le contenue FiltreMsqlUBB.spec contenant n'importe quoi ..
    la syntaxes et differente de la tienne (les print var1 et 2)
    resultat :
    que sont tes paramètres ?
    Marc
    Slackware for ever ......
    BASH - KSH ( http://marcg.developpez.com/ksh/ )

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par MarcG
    ici (linux RHE3) sa tourne avec :
    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
    25
    26
    27
    28
     
    #!/usr/bin/awk -f
    #
    # Nom fichier :    migrationFiltres.awk
    #
    # Version :      1.0
    #
    # Type de fichier :   Migration des masques
    #
    # Description :    Ce script permet d'ajouter une nouvelle colonne
    #         nommée 'nouvCol' entre les colonnes 'colAvant' et 'colApres'
    #         2 paramètres : $1 pour le nom de la nouvelle colonne
    #                   $2 pour le numéro de la colonne précédente
    #
    # Date derniere modification
    # 26/10/2005 xlr : création initiale
     
    BEGIN {
      print var1;
      print var2;
    }
     
    {
     
    }
     
    END {
    }
    et commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    awk -v var1=par1 -v var2=par2 -f migrationFiltres.awk FiltreMsqUBB.spec
    le contenue FiltreMsqlUBB.spec contenant n'importe quoi ..
    la syntaxes et differente de la tienne (les print var1 et 2)
    resultat :
    que sont tes paramètres ?
    Mes paramètres sont respectivement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var1=ifAlias
    var2=2
    J'ai lancé les 2 scripts qui tourne chez toi et la fonction awk me retourne toujours la meme erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    syntax error  near line 1
    bailing out near line 1

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par _Mac_
    Bien sûr, tu as vérifié qu'en virant tous tes commentaires, il n'y avait plus d'erreur ?

    Pour la version de awk, fais awk --version.
    awk --version ne donne rien !

  12. #12
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    alors le cariage return en ligne 1 en trop (avant le #!/.......)
    ou justement le #! en trop ?
    tu peut essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    awk -v var1=ifAlias -v var2=2 'BEGIN { print var1; print var2 } {} End{}' FiltreMsqUBB.spec
    juste pour voir .....
    Marc
    Slackware for ever ......
    BASH - KSH ( http://marcg.developpez.com/ksh/ )

  13. #13
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est pas le awk GNU, alors !! C'est sûrement pour ça que ça ne marche pas. Quand tu disais que ça marchait, c'était également sous Solaris 5.8 ?

    Et si tu tapes awk tout seul ou awk -h, awk -version, etc., y a pas moyen de récupérer une version ?

    man awk donne quoi ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par MarcG
    alors le cariage return en ligne 1 en trop (avant le #!/.......)
    ou justement le #! en trop ?
    tu peut essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    awk -v var1=ifAlias -v var2=2 'BEGIN { print var1; print var2 } {} End{}' FiltreMsqUBB.spec
    juste pour voir .....
    Même erreur...

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par _Mac_
    C'est pas le awk GNU, alors !! C'est sûrement pour ça que ça ne marche pas. Quand tu disais que ça marchait, c'était également sous Solaris 5.8 ?

    Et si tu tapes awk tout seul ou awk -h, awk -version, etc., y a pas moyen de récupérer une version ?

    man awk donne quoi ?

    le -h -version ne retourne rien
    awk seul retourne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    awk
    awk: Usage: awk [-Fc] [-f source | f 'cmds'] [files]

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Points : 60
    Points
    60
    Par défaut [Solaris 8] Erreur avec Awk
    Apparemment il est plus judicieux d'utiliser la commande nawk qui est GNU !!

  17. #17
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ca marche donc avec nawk ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Points : 60
    Points
    60
    Par défaut [solaris 8] AWK erreur
    pas plus

  19. #19
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    T'as essayé, alors, sans les commentaires, en mettant uniquement les commandes awk ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par _Mac_
    T'as essayé, alors, sans les commentaires, en mettant uniquement les commandes awk ?
    oui les commentaires ne sont pas la.
    Voici l'erreur que j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    nawk: syntax error at source line 1
     context is
     <<<    BEGIN >>>  {
    nawk: illegal statement at source line 1
    nawk: syntax error at source line 2

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Erreur avec procédure LockWorkStation ...
    Par simonseztech dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 15h33
  2. [Débutant][Conception] Erreur avec une classe interne
    Par Devil Redneck dans le forum Général Java
    Réponses: 5
    Dernier message: 11/06/2004, 15h45
  3. Problème sur une cmd avec AWK
    Par OrangeBud dans le forum Linux
    Réponses: 3
    Dernier message: 02/06/2004, 10h51
  4. Erreur avec les ADO
    Par megane dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2004, 21h37
  5. Erreur avec WM_COMMAND (BN_CLICKED)
    Par cyberlewis dans le forum Windows
    Réponses: 2
    Dernier message: 09/02/2004, 00h25

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