Création
d'entreprise
Posez votre question Signaler

Script shell : recherche char dans variable [Résolu]

evita8 32Messages postés 27 mars 2008Date d'inscription - Dernière réponse le 2 mai 2008 à 20:59
Bonjour,
J'ai mis le contenu d'une ligne d'un fichier dans une variable :
var=$(head -1 $1 | grep '^<.')
($1 est le fichier passé en argument dans la ligne de commande)
echo$var me donne :
<?xml version="1.0" encoding="UTF-8" ?>
Je cherche à verifier si les chaines "version" et "encoding" sont bien présentes dans ma variable.
en gros je ne sais pas comment faire pour rechercehr une chaine de caractere dans une variable
merci !
Lire la suite 

Script shell : recherche char dans variable »

8 réponses
Réponse
+0
moins plus
Salut,
$ var='<?xml version="1.0" encoding="UTF-8" ?>'
$ echo $var
<?xml version="1.0" encoding="UTF-8" ?>
$ egrep -o "version|encoding" <<< $var
version
encoding
$
;-))
Ajouter un commentaire
Réponse
+0
moins plus
ça marche !!
merci !
Ajouter un commentaire
Réponse
+0
moins plus
Attention toutefois, là tu voulais la syntaxe pour chercher une chaîne de caractères dans une variable.

Par contre la syntaxe donnée avec "egrep" recherche la chaîne "version" OU la chaîne "encoding", de ce fait si seulement une seule des 2 chaînes est présente, le code retour de "egrep" est "VRAI".

Si ta condition doit tester la présence des 2 chaînes, alors passe le tout à "wc -l" et base ta condition sur le nombre de lignes retournées...
$ egrep -o "version|encoding" <<< $var | wc -l
2
;-))
Poulpoul- 27 mars 2008 à 16:34
Bonjour,

question très bête .. dans la commande :
egrep -o "version|encoding" <<< $var | wc -l
pourquoi <<< ?
je vois très bien la signification pour << mais <<< je sèche

++
Poulpoul
evita8- 27 mars 2008 à 17:00
J'ai enlevé le ou (|) et je vérifie séparément la présence des ceux chaînes
encore merci pour ton aide jipicy !
Ajouter un commentaire
Réponse
+0
moins plus
< fichier		redirection depuis un fichier
< <(commande)		redirection depuis une commande
<<< $variable		redirection depuis une variable
;-))
Ajouter un commentaire
Réponse
+0
moins plus
merci beaucoup pour l'info
je ne connaissais pas du tout
encore merci
++
Poulpoul
Ajouter un commentaire
Réponse
+0
moins plus
merci aussi de ma part pour ces info JP ;-)
Ajouter un commentaire
Ce document intitulé « script shell : recherche char dans variable » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?