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

  FORUM HardWare.fr
  Programmation

  [UNIX KSH] Comparaison de caractères

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[UNIX KSH] Comparaison de caractères

n°20909
Edwige
Posté le 28-03-2001 à 10:09:52  profilanswer
 

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.

mood
Publicité
Posté le 28-03-2001 à 10:09:52  profilanswer
 

n°20913
Fred999
Rabat-joie
Posté le 28-03-2001 à 10:16:08  profilanswer
 

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

n°20918
Edwige
Posté le 28-03-2001 à 10:29:38  profilanswer
 

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?

n°20926
Fred999
Rabat-joie
Posté le 28-03-2001 à 10:50:58  profilanswer
 

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)

n°20931
Fred999
Rabat-joie
Posté le 28-03-2001 à 10:57:46  profilanswer
 

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.

n°20932
Edwige
Posté le 28-03-2001 à 11:01:51  profilanswer
 

Ca marche enfin :)
Merci!

n°2212074
capitainab​loc
Posté le 28-11-2013 à 20:54:31  profilanswer
 

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?

n°2212091
Soileh
Lurkeur professionnel
Posté le 28-11-2013 à 23:54:54  profilanswer
 

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

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

  [UNIX KSH] Comparaison de caractères

 

Sujets relatifs
Fichier texte UNIX/WindowsMigration UNIX sous NT : U R G E N T
[C++] 2 questions : <string> et comparaison ; <vecteur> et pointeursCa existe un editeur de texte potable sous Unix ?
La date sous Unix[Vb6] Lire des caractères dans un fichier binaire
programmation système unix[C++] trier un vector avec une fonction de comparaison
[C/UNIX] Process et signaux[VBSCRIPT] comment transformer les caractères spéciaux en HTML
Plus de sujets relatifs à : [UNIX KSH] Comparaison de caractères


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