[bash] couper une chaine et comparer chaque élément

couper une chaine et comparer chaque élément [bash] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 11-03-2008 à 11:37:08    

salut
 
je cherche a faire un truc mais je vois pas trop comment le faire :
 
j'ai 2 chaine :
 
chaine1=toto,tata,titi
chaine2=toto,tata,tito
 
je voudrais comparés que tout les mots entre "," de la chaine 2 soit bien présent dans la chaine 1, sachant que la chaine 2 est un "read" et chaine1 une chaine fixe.
 
merci d'avance si vous avez une idée

Reply

Marsh Posté le 11-03-2008 à 11:37:08   

Reply

Marsh Posté le 11-03-2008 à 13:33:48    

Et un truc de ce genre ? (non testé, tapé à l'arrache)
 

Code :
  1. for champ1 in $(cut -d, $chaine1)
  2. do
  3.   if ( grep $champ1 $chaine2 ); then
  4.          echo  $chaine2 contient $champ1
  5.   fi
  6. done


vw


Message édité par Combi_A_Vendre le 11-03-2008 à 13:34:17
Reply

Marsh Posté le 11-03-2008 à 16:10:51    

faudrait tester mais du coup j'ai fait comme ca moi :
 

Code :
  1. for fl in "${!flag[@]}"; do
  2. if [ ! -z "`echo -e "$chaine" | grep -F  "${flag[$fl]}"`" ]; then
  3.   echo "OK:  ${flag[$fl]}"
  4. else
  5.   echo "NOK:  ${flag[$fl]}"
  6. fi
  7. done

Reply

Sujets relatifs:

Leave a Replay

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