Tester la présence de majiscules en bash

Résolu
sg -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'ai cherché sur google mais je n'ai pas trouver. je cherche un moyen de verifier si dans une chaine de caractère il y a des lettres majiscules en gro le test merci
A voir également:

3 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
$ var=AAaa
$ [[ "$var" != "${var,,*}" ]] && echo $var contient une ou des majuscules
AAaa contient une ou des majuscules
$ var=bbbb
$ [[ "$var" != "${var,,*}" ]] && echo $var contient une ou des majuscules
$ 
2
Utilisateur anonyme
 
oui, c'est malin ça :)

le * ne sert pas, cependant.
0
sg
 
merci a tous surtout a dubeck c'est exactement ce que je cherchais même si je n'ai pas vraiment compris la syntaxe des choses entre parenthèses
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
${var,,*} converti (voir man bash) $var entièrement en minuscules, on teste avec $var, si c'est inégal, c'est qu'au moins une des lettres de $var a été convertrie, donc $var contient une ou des majuscules
0
sg
 
en script bah merci
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

Regarde ce post : Filtrer une variable, c'est le même principe ;-))
0
laoshu Messages postés 1231 Date d'inscription   Statut Membre Dernière intervention   351
 
Bonjour Zipe31,

Juste pour jouer :

echo $variable || cat fichier | egrep '[A-Z]'

j'ai bon ?
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Ben non ;-((

Que vient faire le cat ?
Pourquoi "||" ?
0
laoshu Messages postés 1231 Date d'inscription   Statut Membre Dernière intervention   351
 
C'était une simplification certes abusive de ma part...

echo $variable | egrep '[A-Z]' #si la chaine est une variable
cat fichier | egrep '[A-Z]' #si la chaine est un fichier

En principe ont sait si la chaine est un fichier ou une variable avant de passer la commande... Mon "||" était pour indiquer l'un ou l'autre. Il me semble que ça pourrait marché ceci dit, quoi qu'inutilement long dans la pratique...
0
laoshu Messages postés 1231 Date d'inscription   Statut Membre Dernière intervention   351
 
Plutôt que cat fichier | egrep ...

egrep '[A-Z]' fichier

est plus correcte, non ?
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Ben voui ;-)
0