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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    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
    Par défaut
    C'est quoi ton "ifAlias 2" ? Peux-tu mettre ton script awk en entier, avec les commentaires ?

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    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
    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 ?

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    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 Expert

    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
    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

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    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
    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.

  9. #9
    Membre Expert

    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
    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 ?

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    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 confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    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 Expert

    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
    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 .....

  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
    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 ?

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    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 confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    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 confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    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
    Par défaut
    Ca marche donc avec nawk ?

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    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
    Par défaut
    T'as essayé, alors, sans les commentaires, en mettant uniquement les commandes awk ?

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    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