Tom's Guide > Forum > Programmation > [Résolu] HELP : syntaxe awk

[Résolu] HELP : syntaxe awk

Forum Programmation : [Résolu] HELP : syntaxe awk

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour à tous,
J'essaye d'écrire un petit programme très court me permettant de récupérer le jour julien à partir d'une liste de dates que je fournis. Je précise que je suis complètement novice en programmation.
J'ai donc écris ceci :

#!/bin/bash



for (( i = 1 ; i <= 21 ; i = i+1 )) une boucle pour traiter mes 21 fichiers
do
nbl=`sed -n "$=" neicpoly_$i.xy`
echo "$nbl"
for (( k = 1 ; k <= nbl ; k = k+1 )) une boucle sur les lignes
do
A=$(date +%j --date=$(awk 'NR==$k {print $3 $4 $5}' neicpoly_$i.xy))
echo "$A"
if [ ! -f neicpolymod_$i.xy ]
then
awk -vA=$A 'NR==$k {print $1,$2,$3,$4,$5,A}' neicpoly_$i.xy > neicpolymod_$i.xy
else
awk -vA=$A 'NR==$k {print $1,$2,$3,$4,$5,A}' neicpoly_$i.xy >> neicpolymod_$i.xy
fi
done
done

Les colonnes 3, 4 et 5 de mes fichiers neicpoly_*.xy sont respectivement : l'année, le mois et le jour.
Il semble qu'il y ait un problème avec le fait de mettre une variable en guise de numéro de ligne, et je ne comprend pas ce qui cloche, la syntaxe n'est sans doute pas bonne, mais j'ai cherché sur internet et je n'ai pas réussi à trouver d'où ça venait.
Dans un terminal j'ai tapé ces lignes :

A=$(date +%j --date=$(awk '(NR==1) {print $3 $4 $5}' neicpoly_1.xy))
J'obtiens alors A=217 (ce qui correspond bien à ma première date à savoir 2007-08-05

k=1
A=$(date +%j --date=$(awk '(NR==$k) {print $3 $4 $5}' neicpoly_1.xy))
J'obtiens A=339 mais je ne sais pas d'où il vient !
J'ai essayé avec k au lieu de $k, ainsi que "k" ou "$k", mais rien y fait.

J'espère que l'un d'entre vous pourra m'aider.
Désolé pour le post à rallonge.
Merci d'avance.


#### En fait je viens de voir où était le problème, la solution se trouvait juste après. J'ai oublié de passer ma variable k dans le awk.
Désolé!!!!!


Message édité par PhileasF le 04-12-2008 à 14:41:48
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
Tom's Guide > Forum > Programmation > [Résolu] HELP : syntaxe awk
Aller à :

Il y a 1573 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens