Shell tcsh, script pour tests... Pour les pros de tcsh

Shell tcsh, script pour tests... Pour les pros de tcsh - Shell/Batch - Programmation

Marsh Posté le 07-04-2004 à 11:43:58    

Voilà mon pb :
 
sous sh, cette ligne fonctionne bien
 
cat $1 | awk -v file_clone=$5 -F ";" ' { if (NF > 0) { print "if [ -e \""$3$4"\" ] ; then cp \""$3$4"\" \""file_clone"\" ; fi" } else { print "" }} ' > $TMP  
 
alors que la même, sous tcsh :
 
cat $1 | awk -v file_clone=$5 -F ";" ' { if (NF > 0) { print "if ( -e \""$3$4"\" ) cp \""$3$4"\" \""file_clone"\"" } else {print "" }} ' > $TMP
 
Pour explication, je récupère une ligne dans un fichier ($1), je teste si un fichier existe ($3$4) et s'il existe, je le copie à un autre endroit (file_clone).  je colle le tout dans TMP que j'exécute par la suite.  
 
Quelqu'un peut-il m'aider ???
 
Merci d'avance
 
Starius

Reply

Marsh Posté le 07-04-2004 à 11:43:58   

Reply

Marsh Posté le 13-04-2004 à 07:09:25    

Depuis le temps, tu l'as sûrement déjà fait, mais commence par découper cette phrase en morceaux plus simples. Tu identifieras facilemnt la ligne qui pose problème. En shell comme en C, on peut facilement faire des lignes très compactes et compliquées mais on y gagne tjrs à simplifier.

Reply

Marsh Posté le 13-04-2004 à 09:11:32    

Oui, effectivement, el muchacho, je l'ai déjà fait, et pour simplifier les choses, ce sont les deux if qui posent pb :
 
if [ -e \""$3$4"\" ] ; then cp \""$3$4"\" \""file_clone"\" ; fi
 
if ( -e \""$3$4"\" ) cp \""$3$4"\" \""file_clone"\""  
 
Toujours personne qui voit le soucis ??? :-( Je désespère...
 
Merci !
 
Starius

Reply

Sujets relatifs:

Leave a Replay

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