Je suis nouveau à UNIX, ayant seulement commencé à travailler aujourd'hui, mais l'expérience avec Java, et ont le code suivant:Vérification d'une chaîne pour voir si elle contient le caractère numérique sous UNIX
#/bin/bash
echo "Please enter a word:"
read word
grep -i $word $1 | cut -d',' -f1,2 | tr "," "-"> output
Cela fonctionne bien, mais ce que je dois maintenant faire est de vérifier quand le mot est lu, qu'il ne contient que des lettres et s'il a des caractères numériques dans l'impression "Invalid input!" message et demandez-leur d'y entrer à nouveau. J'ai supposé que les expressions régulières avec une instruction if seraient le moyen le plus simple de le faire, mais je n'arrive pas à comprendre comment les utiliser sous UNIX car je suis habitué à l'application Java. Toute aide à ce sujet serait grandement appréciée, car je ne pouvais pas trouver d'aide lors de la recherche car toutes les solutions avec des expressions régulières dans linux que je trouvais traitées uniquement si elles étaient toutes numériques ou non.
'-q' pour grep n'est pas portable en dehors de GNU.Si vous voulez une portabilité totale (la seule raison d'utiliser sh), utilisez '>/dev/null 2> & 1' – Daenyth
+1, c'est sympa, vraiment une solution UNIX, simple et propre. – Anders
@Daenyth vous avez absolument raison, et j'ai même fait cela quand je l'ai essayé sur mon système, puis ajouté le '-q' quand j'ai posté ma réponse. Il semble que je sois GNU depuis trop longtemps. –