Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/08/2018, à 15:26

MagicDav

Problème commande "sort" suite intégration couleur dans "printf"

Bonjour à tous,
Pour une formation, je dois réaliser l'exercice suivant: créer un script Bash qui fournit des statistiques sur l'utilisation des lettres dans une langue - à partir du fichier (www.siteduzero.com/uploads/fr/ftp/mateo21/cpp/dico.zip)
J'arrive à mon résultat, sauf quand j'ajoute de la couleur (printf "\033...), la commande "sort" ne fait plus correctement son travail de classement décroissant...
Au passage, je me demande aussi comment je pourrais repartir au début de mon script après "recommencez" (dernier elif)
Mercissssssssssssssssssssssssssss d'avance, David

****

#!/bin/bash

dico=$1
choix=$2

echo "Entrez votre choix d'affichage - coul ou nb:"
read -r choix

if [ "$choix" = "coul" ]; then 

for lettre in {A..Z}; do

	printf "\033[31m%s - \033[36m%s\033[0m\n" $(grep -ic $lettre "$dico") $lettre

done | sort -rn

elif [ "$choix" = "nb" ]; then

for lettre in {A..Z}; do

	printf "%s - %s\n" $(grep -ic $lettre "$dico") $lettre

done | sort -rn

elif [ "$choix" = "" ]; then

	echo "Il faut savoir choisir dans la vie - recommencez!"

else

	echo "Choisir, c'est renoncer!"

fi

*****


Modération : merci d'utiliser les balises code (explications ici).

Dernière modification par cqfd93 (Le 11/08/2018, à 16:47)

Hors ligne

#2 Le 11/08/2018, à 16:55

pingouinux

Re : Problème commande "sort" suite intégration couleur dans "printf"

Bonjour,
1) Inutile d'initialiser choix en début de script, puisque tu le lis ensuite
2) Pour relancer le script, avec les mêmes paramètres

./le_script "$@"

3) Tu peux ne faire qu'un seule boucle sur les lettres, enchaîner le sort, et ne faire les printf que sur le résultat

Hors ligne

#3 Le 11/08/2018, à 17:01

Watael

Re : Problème commande "sort" suite intégration couleur dans "printf"

salut,

mais pourquoi suivre un cours sur un site, et ne pas utiliser le forum dudit site !?

dans un premier temps, puisqu'on voit que la démarche est identique, traiter la recherche, et concaténer les résultats dans un tableau,
ENSUITE, produire l'affichage du tableau selon le choix de l'utilisateur.

et il faut adapter ta commande grep : là, elle ne compte que les lignes où figurent le caractères :

$ grep -ic a <<<abracadabra
1

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#4 Le 12/08/2018, à 08:00

MagicDav

Re : Problème commande "sort" suite intégration couleur dans "printf"

Bonjour tous les deux... effectivement, je m'intéresserais au forum du cours la prochaine fois ;-)
Merci pour votre aide et vos conseils :-)
David

Hors ligne