Longueur d'une comùande Awk

Longueur d'une comùande Awk - Shell/Batch - Programmation

Marsh Posté le 24-11-2005 à 11:01:13    

Bonjour,
j'ai besoin d'exécuter une commande Awk pour lire des enregistrements d'un fichier.
Mais la commande Awk que je dois exécuter est trop longue selon l'erreur générée par Awk:

Code :
  1. awk: string too long near line 1
  2. awk: syntax error near line 1
  3. awk: illegal statement near line 1


Je vous rassure il n'ya pas d'erreur car quand je mets 9 valeurs dans le printf ça passe t et quand j'en mets 10 ça casse.
 
Existe-til un moyen de revenir à la ligne dans la commande Awk  (\ ??)
Existe-t-il un moyen d'exécuter la meme requete en plusieurs fois??
 
Merci d'avance


---------------
"Rendez tout aussi simple que possible mais ne simplifierez rien" Albert Einstein
Reply

Marsh Posté le 24-11-2005 à 11:01:13   

Reply

Marsh Posté le 24-11-2005 à 16:32:57    

axk47 a écrit :

Bonjour,
j'ai besoin d'exécuter une commande Awk pour lire des enregistrements d'un fichier.
Mais la commande Awk que je dois exécuter est trop longue selon l'erreur générée par Awk:

Code :
  1. awk: string too long near line 1
  2. awk: syntax error near line 1
  3. awk: illegal statement near line 1


Je vous rassure il n'ya pas d'erreur car quand je mets 9 valeurs dans le printf ça passe t et quand j'en mets 10 ça casse.
 
Existe-til un moyen de revenir à la ligne dans la commande Awk  (\ ??)
Existe-t-il un moyen d'exécuter la meme requete en plusieurs fois??
 
Merci d'avance


 
Ce serait bien que tu postes ta commande "awk". Sinon, au lieu d'inclure ton code awk dans ta commande, tu l'inclues dans un fichier "toto.awk" en la mettant sur autant de lignes que tu veux.
 
Ensuite, tu l'actives par la syntaxe suivante: awk -f fichier.awk fichier_a_traiter
 
Pour exécuter la même requète plusieurs fois (sous-entendu "plusierus fois pour chaque ligne" ), tu dois inclure une boucle "for" dans ton script awk !!!

Reply

Marsh Posté le 24-11-2005 à 17:32:43    

Si c'est un "awk d'origine" (ex : celui que je me trimballe sur Solaris 8), il est assez limité.
Vois si tu n'as pas un nawk ou un gawk qui traine.  
 
Sinon écris deux printf au lieu d'un seul [:spamafote]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed