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 27/06/2026, à 12:50

LucMorizur

Script echo_format (ef) pour formater le texte de la commande echo

Bonjour ;

je me suis fait un script permettant de remplacer la commande suivante :

echo -e "Normal, \033[31mtexte en rouge\033[0m, et retour."

qu'est quand même pas bien lisible, par la commande suivante :

echo -e "Normal, $(ef rouge)texte en rouge$(ef), et retour."

ce que je trouve tout de même plus pratique.

C'est téléchargeable sur GitHub : echo_format sur GitHub

À voir si ça a du succès...!

[Edit]

J'avais oublié la démo !

Image démo

Dernière modification par LucMorizur (Le 27/06/2026, à 13:03)


Ubuntu Studio sur HP Elitebook 850 G5 d'occasion... ça le fait... (Si ce n'est l'écran en 4K qui nécessite par moments de chausser les lunettes et se coller à 10 cm :-/ ...)

Hors ligne

#2 Le 20/07/2026, à 22:08

sputnick

Re : Script echo_format (ef) pour formater le texte de la commande echo

Moi je n'ai pas ef installé de base. On peut aussi jouer avec tput:

    for i in {0..7};
    do
        tput setaf $i;
        echo "tput setaf $i";
        tput sgr0;
    done

Dernière modification par sputnick (Le 20/07/2026, à 22:29)


Qui veut faire quelque chose trouve un moyen, qui ne veut rien faire trouve une excuse. Proverbe arabe
https://sputnick.fr

Hors ligne

#3 Le 20/07/2026, à 22:51

Watael

Re : Script echo_format (ef) pour formater le texte de la commande echo

ah! une commande externe ! vite! le bréviaire mangique !
vade retro commande externe ! xxsss! xxsss! xxsss!
lol

quant à echo_format
avec printf et quelques variables format aux noms significatifs, c'est vite fait.
franchement, pourquoi je chargerais un truc au nombre incalculable de lignes pour faire un petit echo coloré dans mon script ?

NB: le script n'est plus sur github.


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

Hors ligne

#4 Le 20/07/2026, à 23:07

sputnick

Re : Script echo_format (ef) pour formater le texte de la commande echo

Une version amméliorée par IA (oups, sorry):

(
count=0
for bg in {0..255}; do
    for fg in {0..255}; do
        # Version optimisée avec les codes ANSI équivalents à tput
        # \e[48;5;{bg}m pour le fond et \e[38;5;{fg}m pour le texte
        printf "\e[48;5;${bg}m\e[38;5;${fg}m  tput setab %-3d; tput setaf %-3d  \e[0m " "$bg" "$fg"
        
        # Aligne 3 combinaisons par ligne pour une lecture confortable
        count=$((count + 1))
        if [ $((count % 3)) -eq 0 ]; then
            echo ""
        fi
    done
done
) | less -R

Dernière modification par sputnick (Le 20/07/2026, à 23:10)


Qui veut faire quelque chose trouve un moyen, qui ne veut rien faire trouve une excuse. Proverbe arabe
https://sputnick.fr

Hors ligne

#5 Le 20/07/2026, à 23:15

Watael

Re : Script echo_format (ef) pour formater le texte de la commande echo

il faut 4 commandes (dont un printf) pour faire ce que ferait printf tout seul d'une traite (la lisibilité en moins, d'accord big_smile).
hmm


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

Hors ligne

#6 Le 08/08/2026, à 22:47

LucMorizur

Re : Script echo_format (ef) pour formater le texte de la commande echo

sputnick a écrit :

On peut aussi jouer avec tput

Je m'attendais bien à ce genre de réponse, ç'aurait été étonnant qu'il n'y ait pas déjà quelque chose de mieux et de plus performant neutral.

sputnick a écrit :

Moi je n'ai pas ef installé de base

Il n'y a rien à installer, il y a juste à recopier le code dans un script shell et exporter la fonction.

Watael a écrit :

NB: le script n'est plus sur github.

Si ; mais, évidemment, c'est plus pratique si je déclare le code public roll...

Watael a écrit :

ah! une commande externe ! vite! le bréviaire mangique !
vade retro commande externe ! xxsss! xxsss! xxsss!
lol

wink

Pour être honnête en effet, ce qui m'a amusé dans l'écriture de ce script, c'est de faire quelque chose en script Bash pur.

Watael a écrit :

quant à echo_format
avec printf et quelques variables format aux noms significatifs, c'est vite fait.
franchement, pourquoi je chargerais un truc au nombre incalculable de lignes pour faire un petit echo coloré dans mon script ?

Watael a écrit :

il faut 4 commandes (dont un printf) pour faire ce que ferait printf tout seul d'une traite (la lisibilité en moins, d'accord big_smile).
hmm

Ben, voilà, je trouve quand même plus pratique de mettre "rouge" plutôt que d'avoir à retrouver "\033[31m" ; et, à la relecture du script, on sait au moins quelle couleur on est censé avoir.

Bon, après, les scripts Bash, c'est de toutes façons rarement très lisible neutral...


Ubuntu Studio sur HP Elitebook 850 G5 d'occasion... ça le fait... (Si ce n'est l'écran en 4K qui nécessite par moments de chausser les lunettes et se coller à 10 cm :-/ ...)

Hors ligne

#7 Le 08/08/2026, à 23:05

sputnick

Re : Script echo_format (ef) pour formater le texte de la commande echo

Pour la lisibilité et la rapidité, tu pourrai ré-écrire ta fonction 'ef' avec 'tput'.


Qui veut faire quelque chose trouve un moyen, qui ne veut rien faire trouve une excuse. Proverbe arabe
https://sputnick.fr

Hors ligne

#8 Le 09/08/2026, à 07:51

MicP

Re : Script echo_format (ef) pour formater le texte de la commande echo

Bonjour

avec le shell bash
les lignes de commande suivantes :

Dans son message #4, sputnick a écrit :
        # Aligne 3 combinaisons par ligne pour une lecture confortable
        count=$((count + 1))
        if [ $((count % 3)) -eq 0 ]; then
            echo ""
        fi

pourraient être remplacées par :

        # Aligne 3 combinaisons par ligne pour une lecture confortable
        (( count ++ ))                   # Incrémenter count
        (( count % 3 )) || printf '\n'   # Si le reste de la division entière de count par 3 est zéro, alors Ligne suivante

=======
Quelques liens concernant les séquences d'échappement :

https://gist.github.com/fnky/458719343a … a4f7296797

Standard ECMA-48 (pdf 1.5MiB)

Dernière modification par MicP (Le 09/08/2026, à 08:40)

Hors ligne

#9 Le 09/08/2026, à 23:30

sputnick

Re : Script echo_format (ef) pour formater le texte de la commande echo

@MicP, comme précisé, j'ai amélioré les features de mon script avec IA/LLM. La syntaxe n'est pas idéale, c'était une démo autour des fonctionnalités de tput, très chiant à écrire à la main.


Qui veut faire quelque chose trouve un moyen, qui ne veut rien faire trouve une excuse. Proverbe arabe
https://sputnick.fr

Hors ligne

#10 Hier à 00:00

MicP

Re : Script echo_format (ef) pour formater le texte de la commande echo

@sputnick

Quand j'ai lu le script, je me suis dit "Tiens, on pourrait faire comme ça."
Alors j'ai posté mon message en me disant que ça pourrait intéresser certains lecteurs.

C'était juste pour étaler un peu ma confiture de bash lol

Françoise Sagan a écrit :

La culture, c'est comme la confiture, moins on en a, plus on l'étale.

Cordialement.

Hors ligne