Précédent   Forum des professionnels en informatique > Systèmes > Linux
Linux Forum d'entraide sur le système Linux. Avant de poster -> Tutoriels Linux, F.A.Q Linux
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 18/01/2011, 14h50   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 1
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 1
Points : 0
Points : 0
Par défaut Comment coder ce script de linux vers unix services mvs

Bonjour,
Comment coder ce script linux pour qu'il puisse s'exécuter sur la couche unix de mvs (USS) ? Actuellement je ne peux le faire tourner que sous linux / unix et j'ai besoin de le faire tourner sous USS.
Merci d'avance pour votre aide
Philippe
Voici le script:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/bash
#set -x
 
for FILE in $(find "./" -name "*.tar" -type f);
do
   tar -xf $FILE
   for FILP in $(find "./" -name "*.pdf" -type f );
   do
     BFILP=`basename ${FILP} 2>&1`
     CAB=`echo ${BFILP} | cut -d"_" -f1`
      CABF=`echo ${CAB} | cut -d"-" -f2`
     NUMP=`echo ${BFILP} | cut -d"_" -f2`
      NUMPF=`echo ${NUMP}  | cut -d"." -f1`
     DATELOT=`echo ${BFILP} | cut -d"=" -f1`
      JJ=`echo ${DATELOT} | cut -c1,2`
      MM=`echo ${DATELOT} | cut -c3,4`
      AA=`echo ${DATELOT} | cut -c5,6`
     NUMLOT=`echo ${BFILP} | cut -d"=" -f2`
      NUMLOTF=`echo ${NUMLOT} | cut -d"-" -f1`
     DATE=`date "+%d/%m/%y"`
     echo "$DATE;                             $CABF;$JJ"/"$MM"/"$AA;$NUMPF;$NUMLOTF;$CAB"_"$NUMPF.pdf" >> $FILE".csv"
     done;              
     rm ./*.pdf    
   done;
 
exit 0
plb3945 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 16h16   #2
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 069
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 069
Points : 4 145
Points : 4 145
Bonjour,

on ne fait pas for item in $(commande), car si commande retourne une ligne contenant des espaces, la boucle s'exécutera sur chacun des éléments de la ligne; préfère par exemple
Code :
1
2
3
for file in ./*.tar
do if [ -f "$file" ]
     then #etc
ou alors, utilise
Code :
1
2
3
find ./ -type f -name "*.tar" -exec bash -c 'file="$1"
#etc
' _ {} \;
on ne donne de nom tout en majuscules aux variables : c'est reservé aux variables d'environnement.

il est recommandé d'utilisé $() plutôt que ``

et n'oublie de mettre les variables entre guillemets.

À part ça,
c'est quoi le problème avec USS (que je ne connais pas) ?
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h43.


 
 
 
 
Partenaires

Hébergement Web