Correction script bash

Correction script bash - Shell/Batch - Programmation

Marsh Posté le 25-11-2009 à 16:01:00    

Bonjour,
 
J'ai un petit souci avec une ligne de mon script qui fonctionnait très bien en csh mais pas en bash si quelqu'un peut m'éclairer ça serait vraiment chouette.
 
Les premières lignes de mon fichier (file)
185.950 48.150 -5334.049
185.900 48.300 -5379.021
185.850 48.450 -5468.649
 
 
Les lignes de mon script provoquant une erreur :
x0=`gawk '(NR==1){print $1}' $file`
 
y0=`gawk '(NR==1){print $2}' $file`
gawk 'BEGIN{ x='$x0' ; y='$y0' ; d=0 } ; {if (NR==1) { print d,$3 } else { d=d+sqrt( ($1-x)**2+($2-y)**2) ; x=$1 ; y=$2 ; print d,$3 } }'  $file > dist.txt

 
j'obtiens l'erreur suivante :
: command not found
; d=0};50IN {x=185.950
 » dans l'expression  ^ caractère invalide «

mood
Publicité
Posté le 25-11-2009 à 16:01:00  profilanswer
 

n°1944628
pataluc
Posté le 25-11-2009 à 16:03:54  profilanswer
 

il faut que tu utilises des guillemets au lieu des quotes dans le script awk:

Code :
  1. gawk 'BEGIN{ x="$x0" ; y="$y0" ; d=0 } ; {if (NR==1) { print d,$3 } else { d=d+sqrt( ($1-x)**2+($2-y)**2) ; x=$1 ; y=$2 ; print d,$3 } }'  $file > dist.txt
Reply

Marsh Posté le 25-11-2009 à 16:32:36    

Cool merci§  
J'ai remplacé aussi les quotes par des guillemets dans x0 et y0. j'ai presque des valeurs coherentes !
:)

Reply

Sujets relatifs:

Leave a Replay

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

© 2018 Forum. All Rights Reserved.