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 :

AWK, probleme de quote dans fonction awk.


Sujet :

Shell et commandes GNU

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut AWK, probleme de quote dans fonction awk.
    Bonjour,

    je suis sous Solaris 10 et j'ai un petit soucis lorsque dans une fonction awk le caractère ' (quote) est présent aussi bien dans un commentaire que dans une ligne de code.

    1ier exemple:

    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
    bash-3.00# cat help.sh 
    #!/usr/bin/bash
    nawk '
      BEGIN {}
      {
                    dcmd = "ls -ltr /var/backup/ | tail -1 | awk '{print $9}'"
                    system(dcmd)
      }
      END {}' hosts
     
    bash-3.00# ./help.sh 
    nawk: syntax error at source line 4
     context is
                            dcmd = "ls -ltr /var/backup/ | tail -1 | awk >>>  {print <<< 
    nawk: illegal statement at source line 4
    2ieme exemple:

    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
    bash-3.00# cat help.sh 
    #!/usr/bin/bash
    nawk '
      BEGIN {}
      {
    #'
      }
      END {}' hosts
     
    bash-3.00# ./help.sh 
    nawk: syntax error at source line 4
     context is
             >>> # <<< 
    nawk: illegal statement at source line 4
            missing }
    ./help.sh: line 6: syntax error near unexpected token `}'
    ./help.sh: line 6: `  }'
    Comment cela se fait il?
    Comment faire pour utiliser un awk dans une fonction awk?

    Merci pour vos conseils, je commence à désespérer. ^^

  2. #2
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Je viens de trouver un workaround en remplaçant le quote par "\047".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #!/usr/bin/bash
    nawk '
    BEGIN {}
    {
    dcmd = "ls -ltr /var/backup/ | tail -1 | awk \047{print $9}\047"
    system(dcmd)
    }
    END {}' hosts

    S'il y a d'autres façons plus propres, je suis preneur.

Discussions similaires

  1. Catcher erreur dans fonction + AWK
    Par Moostiq dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 19/09/2011, 11h57
  2. Probleme de quote dans la directive include
    Par hlavigne dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 20/12/2009, 01h51
  3. [PHP-JS] Probleme de Javascript dans fonction php
    Par alllo dans le forum Langage
    Réponses: 10
    Dernier message: 24/06/2007, 19h21
  4. [VB]probleme double quote dans une ressource de type string
    Par JulienCEA dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/02/2006, 12h38
  5. Ecriture dans un fichier avec la fonction AWK
    Par tux2005 dans le forum Linux
    Réponses: 2
    Dernier message: 21/07/2005, 10h58

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