Bonjour à tous, alors voilà mon problème : j'essaie de faire un petit script qui lit dans un fichier et qui me dit si oui non les mots commencent par la lettre A j'utilise un if qui echo Vrai si le mot commence bien par A et Faux si il ne commence pas par A. Mon code est donc le suivant :
#!/bin/bash
#Déclaration de ma fonction
verifLettre()
#La variable mots prend toutes les valeurs de $1 qui est le fichier texte qui contient tous les mots
{
for mots in `cat $1`
do
if [ "$mots" = "$2"* ]
then
echo "Vrai"
else
echo "Faux"
fi
done
}
verifLettre "dico.txt" "A" #Appel de la fonction avec le nom du fichier et la lettre à vérifier en paramètre
Le problème c'est que quand j'exécute le script, l'invite me revoie faux pour tous les mots alors que les premiers mots du fichier commencent par la lettre A
Merci d'avance pour vos réponses
- Edité par LouisFlamion 29 juillet 2019 à 15:43:53
la commande test ou [ ne comprend pas le joker *; seulement le test avancé [[ peux le faire (entre autres choses).
PS: `cat fichier` peut être remplacé par $(<fichier)
- Edité par dantonq 29 juillet 2019 à 17:07:59
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Problème avec un script bash
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique