Extraire chaque mot d'une ligne reçu dùn fichier pour le traiter
Résolu/Fermé
A voir également:
- Extraire chaque mot d'une ligne reçu dùn fichier pour le traiter
- Fichier rar - Guide
- Fichier host - Guide
- Extraire une video youtube - Guide
- Fichier iso - Guide
- Piratage facebook changer mot de passe - Guide
4 réponses
lEprofSonDkon
Messages postés
211
Date d'inscription
jeudi 13 décembre 2018
Statut
Membre
Dernière intervention
8 octobre 2022
13
14 avril 2019 à 02:48
14 avril 2019 à 02:48
salut,
en bash :
en bash :
for mot in $(<"$fichier"); do echo "$mot" donesinon
for mot in $(cat "$fichier") ...
Un peux gênée pour la question...! vraiment désolée!
mais ça fonctionne très bien pour cette partie :)
là ça rentre bien dans mon case
ça fait ce qui doit faire MERCIII!!!
pour la concaténation dans une variable fur et à mesure que je converti je fais
conv=$conv$(echo "$mot" | sed -E "s/deux/2/g;")
il me reste à faire le côté calcule :)
merci encore je bloquais sur la partie la plus simple!
vite fait je pense faire $resultat=(($conv)) mais bon...
je vais venir mettre résolu une fois tout testé et terminé
:) merci!!
mais ça fonctionne très bien pour cette partie :)
là ça rentre bien dans mon case
ça fait ce qui doit faire MERCIII!!!
pour la concaténation dans une variable fur et à mesure que je converti je fais
conv=$conv$(echo "$mot" | sed -E "s/deux/2/g;")
il me reste à faire le côté calcule :)
merci encore je bloquais sur la partie la plus simple!
vite fait je pense faire $resultat=(($conv)) mais bon...
je vais venir mettre résolu une fois tout testé et terminé
:) merci!!
finalement, voici ce que j'ai fait et qu'il fonctionne
if [ -e "$fichier" ]; then
i=0
for mot in $(cat "$fichier"); do
case "$mot" in
"zero")
calcul=$calcul$(echo "$mot" | sed -E "s/zero/0/g;")
;;
"un"
calcul=$calcul$(echo "$mot" | sed -E "s/un/1/g;")
;;
"deux")
calcul=$calcul$(echo "$mot" | sed -E "s/deux/2/g;")
;;
"trois")
calcul=$calcul$(echo "$mot" | sed -E "s/trois/3/g;")
;;
"quatre")
calcul=$calcul$(echo "$mot" | sed -E "s/quatre/4/g;")
;;
"cinq")
calcul=$calcul$(echo "$mot" | sed -E "s/cinq/5/g;")
;;
"six")
calcul=$calcul$(echo "$mot" | sed -E "s/six/6/g;")
;;
"sept")
calcul=$calcul$(echo "$mot" | sed -E "s/sept/7/g;")
;;
"huit")
calcul=$calcul$(echo "$mot" | sed -E "s/huit/8/g;")
;;
"neuf")
calcul=$calcul$(echo "$mot" | sed -E "s/neuf/9/g;")
;;
"plus")
calcul=$calcul$(echo "$mot" | sed -E "s/plus/+/g;")
;;
"moins")
calcul=$calcul$(echo "$mot" | sed -E "s/moins/\-/g;")
;;
"fois")
calcul=$calcul$(echo "$mot" | sed -E "s/fois/\*/g;")
;;
"divise")
calcul=$calcul$(echo "$mot" | sed -E "s/divise/\//g;")
;;
"modulo")
calcul=$calcul$(echo "$mot" | sed -E "s/modulo/%/g;")
;;
echo "Désolée, il y a une erreur dans le fichier!" >&2
exit 1
;;
esac
i=$((i + 1 ))
done
echo $(($calcul))
fi
J'aimerais savoir si c'est possible de changer dans cut le 1 par une var
mot=$(cat "$fichier" | cut -f "$i" -d ' ')
le tout dans la fameuse bouche for :)
Merci beaucoup encore et encore !!!
(j'attendrai demain pour clore cette question.... trop curieuse de savoir si possible)
if [ -e "$fichier" ]; then
i=0
for mot in $(cat "$fichier"); do
case "$mot" in
"zero")
calcul=$calcul$(echo "$mot" | sed -E "s/zero/0/g;")
;;
"un"
calcul=$calcul$(echo "$mot" | sed -E "s/un/1/g;")
;;
"deux")
calcul=$calcul$(echo "$mot" | sed -E "s/deux/2/g;")
;;
"trois")
calcul=$calcul$(echo "$mot" | sed -E "s/trois/3/g;")
;;
"quatre")
calcul=$calcul$(echo "$mot" | sed -E "s/quatre/4/g;")
;;
"cinq")
calcul=$calcul$(echo "$mot" | sed -E "s/cinq/5/g;")
;;
"six")
calcul=$calcul$(echo "$mot" | sed -E "s/six/6/g;")
;;
"sept")
calcul=$calcul$(echo "$mot" | sed -E "s/sept/7/g;")
;;
"huit")
calcul=$calcul$(echo "$mot" | sed -E "s/huit/8/g;")
;;
"neuf")
calcul=$calcul$(echo "$mot" | sed -E "s/neuf/9/g;")
;;
"plus")
calcul=$calcul$(echo "$mot" | sed -E "s/plus/+/g;")
;;
"moins")
calcul=$calcul$(echo "$mot" | sed -E "s/moins/\-/g;")
;;
"fois")
calcul=$calcul$(echo "$mot" | sed -E "s/fois/\*/g;")
;;
"divise")
calcul=$calcul$(echo "$mot" | sed -E "s/divise/\//g;")
;;
"modulo")
calcul=$calcul$(echo "$mot" | sed -E "s/modulo/%/g;")
;;
- )
echo "Désolée, il y a une erreur dans le fichier!" >&2
exit 1
;;
esac
i=$((i + 1 ))
done
echo $(($calcul))
fi
J'aimerais savoir si c'est possible de changer dans cut le 1 par une var
mot=$(cat "$fichier" | cut -f "$i" -d ' ')
le tout dans la fameuse bouche for :)
Merci beaucoup encore et encore !!!
(j'attendrai demain pour clore cette question.... trop curieuse de savoir si possible)
lEprofSonDkon
Messages postés
211
Date d'inscription
jeudi 13 décembre 2018
Statut
Membre
Dernière intervention
8 octobre 2022
13
14 avril 2019 à 15:12
14 avril 2019 à 15:12
8O
tout cela est inutilement compliqué.
tout cela est inutilement compliqué.
echo $(( $(sed 's/\bzéro\b/0/g;s/\bun\b/1/g; et ainsi de suite...' tonFichier) ))