[UNIX KSH] Comparaison de caractères

Comparaison de caractères [UNIX KSH] - Programmation

Marsh Posté le 28-03-2001 à 10:09:52    

Une question toute simple d'une débutante: quel est l'opérateur de comparaison de caractère? (je voudrais savoir si ma variable $ETAT est égal à la lettre C)
Merci d'avance.

Reply

Marsh Posté le 28-03-2001 à 10:09:52   

Reply

Marsh Posté le 28-03-2001 à 10:16:08    

Il semble que tu aies deux solutions :
 
- soit tout simplement =
 
- soit "-ne" pour "est différent de"

Reply

Marsh Posté le 28-03-2001 à 10:29:38    

Quand j'exécute :
 
   #!/bin/ksh
   ETAT='C'
   if [ $ETAT -ne 'E' ]
   then
        echo "Etat ne vaut pas E"
   else
        echo "Etat vaut $ETAT"
   fi
 
J'obtiens le message d'erreur : "./test.ksh[5]: C: bad number"
Ou est mon erreur?

Reply

Marsh Posté le 28-03-2001 à 10:50:58    

Pffff encore un problème à 2 sous....PUTAIN J'AI LA MEME ERREUR.... sauf que j'arriev quand même à exécuter le shell, avec comme seule modif :
 
if [ "$ETAT" -ne "E" ]
 
(oui, moi aussi je suis une quille en KSH)

Reply

Marsh Posté le 28-03-2001 à 10:57:46    

EVIDEMMENT!!!!!!!!!!!!!!!!!!!!
 
L'opérateur "-ne" ne convient que pour les NOMBRES.
 
Pour des chaînes, c'est !=
 
Et désolé de t'avoir mis sur une fausse piste.

Reply

Marsh Posté le 28-03-2001 à 11:01:51    

Ca marche enfin :)
Merci!

Reply

Marsh Posté le 28-11-2013 à 20:54:31    

Bonjour à tous,
 
je souhaite vérifier dans un fichier, si, pour chaque ligne, le caractère (numérique) de la colonne 5 est égal à 0, pour ensuite effectuer une opération sur la ligne.
 
Avez-vous une idée pour faire ca?

Reply

Marsh Posté le 28-11-2013 à 23:54:54    

capitainabloc a écrit :

Bonjour à tous,
 
je souhaite vérifier dans un fichier, si, pour chaque ligne, le caractère (numérique) de la colonne 5 est égal à 0, pour ensuite effectuer une opération sur la ligne.
 
Avez-vous une idée pour faire ca?


 :hello: !
 
Pour une solution possible, tout dépend de ce que tu veux faire ensuite [:spamafote]
 
Tu peux extraire toutes les lignes dont la colonnes 5 est égale à 0 avec la commande suivante :

Code :
  1. cat ton_fichier|grep -E '^....5'


 
Edit : Bien sûr, cette ligne est valable sur du HP-UX [:cupra]


Message édité par Soileh le 28-11-2013 à 23:55:39

---------------
And in the end, the love you take is equal to the love you make
Reply

Sujets relatifs:

Leave a Replay

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