Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix
Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/11/2011, 21h20   #1
Nouveau Membre du Club
 
Inscription : juin 2006
Messages : 192
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 192
Points : 39
Points : 39
Par défaut Shell - Syncsort

Bonsoir,

voila il m'arrive un truc assez curieux!

dans un shell je declare deux variable comme suit:
Code :
1
2
3
4
5
      typeset -Z2 BANK
      typeset -Z8 MIGDATE
      BANK=$2
      MIGDATE=$3
puis je les utilisent dans un syncsort , cela me permet de ne pas parametrer les donnée en dure mais plutot en saisie lors de l execution du script.

Code :
1
2
3
4
5
6
7
8
9
10
11
 syncsort /infile $A2_FIC/ASF_PJF2D201    fixed 542 \
                    /fields BANK 79 char 2 \
                    /fields VALDAT 37 char 8 \
                    /condition OMIT1 BANK eq "'${BANK}'" \
                                 and VALDAT le "'${MIGDATE}'" \
                    /omit OMIT1 \
                    /outfile $A2_FIC/ASF_PJF2D201.purged overwrite \
                    /workspace $A2_WORK \
                    /statistics \
                    /end
le probleme c'est que dans le script le sycsort ne fait rien: resultat

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[SyncSort AIX/LFS Rel. 3.11.0 Copyright (c) 2004 Syncsort Inc.]
[For use by BNP Paribas Partners for Innovation]
SyncSort : (DKEY) there is no key specification; the default will be used
Minor exception(s) in options. Processing continues.

                                SyncSort statistics

Records read:                  5,689,254  Data read (bytes):      3,083,575,668
Records sorted:                5,687,611  Data sorted (bytes):    3,082,685,162
Records output:                5,687,611  Data output (bytes):    3,082,685,162
Input record length:                 542  Output record length:             542
Work space used (bytes):   3,012,917,248

Elapsed time:                 0:01:03.63  CPU time:                  0:00:40.41

SyncSort has completed
par contre en mettant les données en dure directement dans le syncsort, ca fonctionne ......

une idée ?
merci pour votre aide
nenekes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 16h35   #2
Membre actif
 
Inscription : août 2009
Messages : 152
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 152
Points : 181
Points : 181
Je ne connais pas syncsort,
mais ta syntaxe "'${VAR}'" me semble bizarre.

En shell (Unix/Linux/Solaris), le guillemet simple supprime toute évaluation du contenu, donc '${VAR}' ne sera jamais remplacé par le contenu de la variable.
Essaye juste avec "${VAR}".
50Nio est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h21.


 
 
 
 
Partenaires

Hébergement Web