Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1573 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [KSH][RESOLU]Enlever $ situé en fin de chaine s'il existe [HELP]

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[KSH][RESOLU]Enlever $ situé en fin de chaine s'il existe [HELP]

n°1948932
hazzelthor​n
Payday vador
Posté le 10-12-2009 à 09:44:10  profilanswer
 

Et voila le script complet qui marche merci a ceux qui m'ont aidé :)
 
#!/bin/ksh
 
clear
IsJob=0
IsApp=0
IsCyclique=0
IsDemande=0
FichierSortie=/home4/dpineau/blabla
JobName=$Line
IFS="
"
 
rm $FichierSortie
 
for Line in `cat -vte /home4/dpineau/BINDA.exp`
do
 
#je teste si c'est une appli
if [ `echo $Line | grep app: | wc -l` -eq 1 ] ;
 then  
  IsApp=1 ; IsJob=0
fi  
 
# je teste si c'est un job
if [ `echo $Line | grep job: | wc -l` -eq 1 ] ;
 then
  IsJob=1 ; IsApp=0 ; JobName=`echo $Line` ; IsCyclique=0 ; IsDemande=0
  echo "JobName : " $JobName  
fi
 
# je teste si c'est un job  
if [ `echo $IsJob` -eq 1 ] ;
 then  
 
#si c'est cyclique  
  if [ `echo $Line | grep cyclique=oui | wc -l` -eq 1 ] ;
   then IsCyclique=1  
   CurrentJob=`echo $JobName`
   echo "CurrentJOb" $CurrentJob  
  fi
 
#si c'est demande
  if [ `echo $Line | grep type_periodicite=demande | wc -l` -eq 1 ] ;
   then IsDemande=1  
  fi
fi
 
# je teste si c'est un job, si c'est cyclique et si ca rempli ces deux condition j'ecris toto a la place de la ligne vide
echo "Cyclique :" $IsCyclique
echo "Demande : " $IsDemande
 
# je teste si c'est un job
if  ([ `echo $IsJob` -eq 1 ] && [ `echo $Line | grep -e '^[$]' | wc -l` -eq 1 ]) ;
 
# je teste si c'est un job et une demande
 then if  [ `echo $IsDemande` -eq 1 ] ;
   then echo "toto\n">>$FichierSortie
   
# je teste si c'est un job et cyclique alors j'ecris "toto"  
   else if [ `echo $IsCyclique` -eq 1 ] ;
    then  
     echo "toto\n">>$FichierSortie
     
# je teste si c'est un job et non-cyclique alors j'écris "tata"
    else echo "tata\n">>$FichierSortie
    fi
  fi
fi
echo $Line  >>$FichierSortie
done
 
 
Mon dernier pb est d'enlever les $ généré par le cat -vte pour rendre le fichier export presentable
si qq1 sait manier cut ou sed  une aide serait bienvenue


Message édité par hazzelthorn le 10-12-2009 à 10:44:11
mood
Publicité
Posté le 10-12-2009 à 09:44:10  profilanswer
 

n°1948942
hazzelthor​n
Payday vador
Posté le 10-12-2009 à 10:30:30  profilanswer
 

pb résolu
 
Voila le script final  
 
#!/bin/ksh
 
clear
IsJob=0
IsApp=0
IsCyclique=0
IsDemande=0
FichierSortie=/home4/dpineau/blabla
JobName=$Line
IFS="
"
 
rm $FichierSortie
 
for Line in `cat -vte /home4/dpineau/export_vtom.exp`
 
do
 
#je teste si c'est une appli
if [ `echo $Line | grep app: | wc -l` -eq 1 ] ;
 then  
  IsApp=1 ; IsJob=0
fi  
 
# je teste si c'est un job
if [ `echo $Line | grep job: | wc -l` -eq 1 ] ;
 then
  IsJob=1 ; IsApp=0 ; IsCyclique=0 ; IsDemande=0
fi
 
# je teste si c'est un job  
if [ `echo $IsJob` -eq 1 ] ;
 then  
 
#si c'est cyclique  
  if [ `echo $Line | grep cyclique=oui | wc -l` -eq 1 ] ;
   then IsCyclique=1  
  fi
 
#si c'est demande
  if [ `echo $Line | grep type_periodicite=demande | wc -l` -eq 1 ] ;
   then IsDemande=1  
  fi
fi
 
# je teste si c'est un job
if  ([ `echo $IsJob` -eq 1 ] && [ `echo $Line | grep -e '^[$]' | wc -l` -eq 1 ]) ;
 
# je teste si c'est un job et une demande
 then if  [ `echo $IsDemande` -eq 1 ] ;  
 
   then echo "toto\n">>$FichierSortie  
   
   
# je teste si c'est un job et cyclique alors j'ecris "toto"  
   else if [ `echo $IsCyclique` -eq 1 ] ;
    then  
     echo "toto\n">>$FichierSortie  
     
# je teste si c'est un job et non-cyclique alors j'écris "tata"
    else echo "tata\n">>$FichierSortie  
    fi
  fi
   
fi
 
#on enleve les caracteres $ situés en fin de ligne
echo `expr $Line : "\(.*\).$"`>>$FichierSortie
done


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [KSH][RESOLU]Enlever $ situé en fin de chaine s'il existe [HELP]

 

Sujets relatifs
[PERL] Out of memory sur Win7 x64 [RESOLU][ Resolu ] Probleme avec mon script menu
Variable de Session prend Valeur du Get [Resolu][résolu] "\" à la fin d'une chaine de caractères
Requete pour remplacer une partie de chaine via MyadminL'heure est grave [Comparaison de chaîne de caractères]
[resolu] Trier une listbox qui affiche le contenu d'un répertoire. ?[Résolu - PHP] Incrémenter une variable par autre chose que +1
Plus de sujets relatifs à : [KSH][RESOLU]Enlever $ situé en fin de chaine s'il existe [HELP]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR