Zsh, verification de chaine
'Lex
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
'Lex Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
'Lex Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voici ma méthode qui déconne (dans le même programme que mon précédent sujet)
----- > le problème est que les majuscules et les points sont repérés mais pas les espaces.
Quelqu'un aurait une piste?
Merci.
voici ma méthode qui déconne (dans le même programme que mon précédent sujet)
#bad symbols to sites names badSymbols=("\s" "\." "[A-Z]") # # Test if the website name contains a given symbol # @variable: site_name # @return: res (2 if the file doesn't exist) # >> Tested 04/25/14 # websiteName_test() { res=0 for i in 'seq 0 $((${#badSymbols[*]}-1))' do var1=$(echo $1 | grep "${badSymbols[i]}") if [ ! -z ${var1} ]; then res=2 break fi done return $res }
----- > le problème est que les majuscules et les points sont repérés mais pas les espaces.
Quelqu'un aurait une piste?
Merci.
A voir également:
- Zsh, verification de chaine
- Chaine tnt gratuite sur mobile - Guide
- Plus de chaine tv - Guide
- Chaine radio - Télécharger - Médias et Actualité
- Verification lien internet - Guide
- Verification windows 11 - Guide
13 réponses
ça ne donne rien de plus
-----------
----> voici le contenu de mon fichier essai.sh
#bin/zsh
source ./Script.sh
websiteName_test $1
echo $res
----> et le résultat d'exécution en console:
MacBook-Pro-de-alexandre:Desktop alexandre$ ./essai.sh "site.1"
2
MacBook-Pro-de-alexandre:Desktop alexandre$ ./essai.sh "sIte1"
2
MacBook-Pro-de-alexandre:Desktop alexandre$ ./essai.sh "site 1"
0
MacBook-Pro-de-alexandre:Desktop alexandre$
-----------
----> voici le contenu de mon fichier essai.sh
#bin/zsh
source ./Script.sh
websiteName_test $1
echo $res
----> et le résultat d'exécution en console:
MacBook-Pro-de-alexandre:Desktop alexandre$ ./essai.sh "site.1"
2
MacBook-Pro-de-alexandre:Desktop alexandre$ ./essai.sh "sIte1"
2
MacBook-Pro-de-alexandre:Desktop alexandre$ ./essai.sh "site 1"
0
MacBook-Pro-de-alexandre:Desktop alexandre$
Bien vu. merci.
Aurais tu une astuce pour trouver les espaces en début et fin de ligne? les regexp ne fonctionnent pas ( *[]^ et ^[]* )
Aurais tu une astuce pour trouver les espaces en début et fin de ligne? les regexp ne fonctionnent pas ( *[]^ et ^[]* )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question$ echo "aa bb " | grep "[[:space:]]$"
aa bb
$ echo "aa bb" | grep "[[:space:]]$"
$ echo " aa bb" | grep "[[:space:]]$"
$ echo " aa bb" | grep "^[[:space:]]"
aa bb
non seulement ça ne marche pas,
mais [:space:] me donne 2 tout le temps.
oO :'-(
Merci de m'aider en tout cas.
T'aura ton pseudo au "générique" :)
mais [:space:] me donne 2 tout le temps.
oO :'-(
Merci de m'aider en tout cas.
T'aura ton pseudo au "générique" :)
Salut,
Essaye avec
Essaye avec
egrepou
grep -E:
$ echo -e " blabla\nblibli\nblublu \n bloblo\nbleble " | egrep '^ | $'| cat -A
blabla$
blublu $
bloblo$
bleble $
fichier script.sh -----------------
#bad symbols to sites names
badSymbols=("[:space:]" "\." "[A-Z]")
#
# Test if the website name contains a given symbol
# @variable: site_name
# @return: res (2 if the file doesn't exist)
# >> Tested 04/25/14
#
websiteName_test() {
res=0
for i in 'seq 0 $((${#badSymbols[*]}-1))'
do
var1=$(echo $1 | grep -E "${badSymbols[i]}")
if [ ! -z "${var1}" ]; then
res=2
break
fi
done
return $res
}
fichier essai.sh ---------------
#bin/zsh
source ./Script.sh
websiteName_test $1
echo $res
---------------------
lien:
https://www.wuala.com/AdeLaTullaye/Code/?key=goa9X24okDkG
avec [:essai:] il est toujours à 2 et avec \s, il est toujours à 0
#bad symbols to sites names
badSymbols=("[:space:]" "\." "[A-Z]")
#
# Test if the website name contains a given symbol
# @variable: site_name
# @return: res (2 if the file doesn't exist)
# >> Tested 04/25/14
#
websiteName_test() {
res=0
for i in 'seq 0 $((${#badSymbols[*]}-1))'
do
var1=$(echo $1 | grep -E "${badSymbols[i]}")
if [ ! -z "${var1}" ]; then
res=2
break
fi
done
return $res
}
fichier essai.sh ---------------
#bin/zsh
source ./Script.sh
websiteName_test $1
echo $res
---------------------
lien:
https://www.wuala.com/AdeLaTullaye/Code/?key=goa9X24okDkG
avec [:essai:] il est toujours à 2 et avec \s, il est toujours à 0
Re-
J'ai l'impression que tu te compliques la vie ;-\
Le script
Les test :
J'ai l'impression que tu te compliques la vie ;-\
Le script
cat brol.zsh:
#! /bin/zsh
#
# Test if the website name contains a given symbol
# @variable: site_name
# @return: res (2 if the file doesn't exist)
# >> Tested 04/25/14
#
websiteName_test() {
egrep -q '\s|\.|[A-Z]' <<<"$1"
if [ $? -eq 0 ]
then
return 2
else
return 0
fi
}
websiteName_test "$1"
echo $?
Les test :
$ ./foo.zsh "site1"
0
$ ./foo.zsh "site.1"
2
$ ./foo.zsh "sitE1"
2
$ ./foo.zsh "si te1"
2