voici mon code
if ($nbport == 52 );
then
awk -F " " '{if($1 != 49 && $1!= 50 && $1!= 51 && $1!=52 )print $1, $2} ' |\ ;
elif ($nbport == 26);
then
awk -F " " '{if($1!= 25 && $1!= 26 )print $1, $2} ' |\ ;
fi
Lors de l'éxecution j'obtient:
harvest.bash: line 58: 52: command not found
harvest.bash: line 61: 52: command not found
je ne comprend pas d'ou vient le probleme, si quelqu'un peu m'aider.
# Quel shell ?
Posté par zipe31 . Évalué à 1.
Salut,
C'est quoi ton shell, csh ?
C'est quoi le "pipe" en fin de commande "awk" ?
Et puis ton script en entier numéroté n'aurait pas été de trop ;-(
# escuse moi
Posté par benofdark . Évalué à 1. Dernière modification le 31 janvier 2013 à 10:40.
je pensai que ça suffirai :
[^] # Re: escuse moi
Posté par zipe31 . Évalué à 0.
On a toujours pas le nom du shell ? ;-(
Et puis ça :
C'est censé faire quoi ? Surtout le " |\ ; "
[^] # Re: escuse moi
Posté par NeoX . Évalué à 2. Dernière modification le 31 janvier 2013 à 10:47.
je me suis permis de coloriser ton script en mettant 3 ` puis sh en ouverture
et 3 ` en fermeture
sans avoir testé, je pense que le ; en bout de ligne dans tes if fait s'arreter la chaine de traitement.
en gros tu lui dis
tu prend des trucs, tu les traites, et tu les pipe à
si j'ai 52 ports, alors awk et imprimes 1 et 2 et pipe FIN (;)
si j'ai 26 ports alors awk et imprimes 1 et 2 et pipe FIN (;)
et ensuite tu as un sort -k 1,1 qui pipe sur un sed
seulement le sort n'a rien à trier puisque le pipe c'est terminé.
une solution elegante serait de faire le test du nombre de port dans le awk
tu ne fait alors plus qu'un seul pipe, awk faisant les conditions et les reponses.
[^] # Re: escuse moi
Posté par JJD . Évalué à 1.
Salut,
Il faut aussi noter que ces 2 lignes awk se terminent par "|\ ;". Le blanc après l'antislash (à moins que ce ne soit une erreur de transcription) fait que la sortie de awk va être pipée sur l'entrée d'une hypothétique commande " " (1 espace) qui n'existe pas.
Une solution rapide serait de supprimer le pipe et tout ce qui suit sur ces deux lignes et de rajouter "| \" (comme sur les autres lignes) juste après le "fi", avant le sort (le bloc "if…fi" est un bloc d'instructions qui peut être considéré comme unitaire).
Je n'ai pas non plus testé et ne peut garantir qu'il n'y a pas un autre soucis ailleurs…
# merci
Posté par benofdark . Évalué à 1.
Merci beaucoup !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.