From 410003b9611324581093be867fb52274146d7171 Mon Sep 17 00:00:00 2001 From: Alnotz Date: Sun, 24 Jul 2022 01:07:50 +0200 Subject: [PATCH] bash codes updated --- Bash/couleurs-table.sh | 53 +++++++++++ Bash/couleurs.sh | 212 +++++++++++++++++++++++++++++++++++++++++ Bash/eml2mbox.sh | 8 +- 3 files changed, 269 insertions(+), 4 deletions(-) create mode 100755 Bash/couleurs-table.sh create mode 100755 Bash/couleurs.sh diff --git a/Bash/couleurs-table.sh b/Bash/couleurs-table.sh new file mode 100755 index 0000000..ee5cb16 --- /dev/null +++ b/Bash/couleurs-table.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash +##===================## +##Auteur : Alnotz ## +##Date : 09/02/2019 ## +##===================## +#Un argument ? Ca fera office d'exemple. +if [ -z "$1" ] ; +then + #Texte par defaut. + echo -e "Usage: $0 TEXT" + echo + echo "TEXT: texte à colorer en tableaux." + exit 0 +else + declare -r TEXT="$1" +fi +#Effet de texte. +declare -i EFFECT=0 +#Couleur de caractere. +declare -i CHAR=0 +#Couleur de font. +declare -i FONT=0 +#Tables de couleur par effet. +while [ "$EFFECT" -lt "10" ] ; +do + echo -e "Effect=$EFFECT" + echo + echo -e "\tBack" + echo -e "Char\t0\t1\t2\t3\t4\t5\t6\t7" + #Colonnes des couleurs de texte. + while [ "$CHAR" -lt "8" ] ; + do + echo -e -n "$CHAR\t" + #Cellules des couleurs de font. + while [ "$FONT" -lt "8" ] ; + do + #Partie delicate : format \E['';'';''m\E[0m. + echo -e -n "$( printf '\\E[%1d;3%1d;4%1dm%s\\E[0m'\ + $EFFECT $CHAR $FONT "$TEXT" )" + echo -e -n "\t" + FONT=$(( FONT + 1 )) + done + echo -e -n "\n" + FONT=0 + CHAR=$(( CHAR + 1 )) + done + echo -e -n "\n\n" + CHAR=0 + EFFECT=$(( EFFECT + 1 )) +done +EFFECT=0 +echo -e -n "\n\n\n" +exit 0 diff --git a/Bash/couleurs.sh b/Bash/couleurs.sh new file mode 100755 index 0000000..9963a2a --- /dev/null +++ b/Bash/couleurs.sh @@ -0,0 +1,212 @@ +#!/usr/bin/env bash +# Pour faire du formattage en couleur. +# On effectue des commandes comme +#+« CODE=$( echo -e "\E[$( echo $EFFET ) ;$( echo $CHAR );$( echo $FONT )m TEXT \E[0m" ) ; echo $CODE ; » +#+echo -e -n $( printf '\\E[%1d;3%1d;4%1dm%s\\E[0m' $EFFECT $CHAR $FONT "$TEXT" ) +#+ou « CODE=$( echo -e "\033[$( echo $EFFET );$( echo $CHAR );$( echo $FONT )m TEXT \033[0m" ) ; echo $CODE ; ». +# Codes de couleur pour CHAR et FONT. +# NOIR=0 +# ROUGE=1 +# VERT=2 +# JAUNE=3 +# BLEU=4 +# MAGENTA=5 +# CYAN=6 +# BLANC=7 +# Codes supplémentaires pour EFFECT. +# SIMPLE=0 +# GRAS=1 +# INACTIF=2 +# ITALIQUE=3 +# SOUSLIGNE=4 +# CLIGNOTANT=5 +# INVERSE=7 +# INVISIBLE=8 +# BARRE=9 +# Case à tester : case $BIDULE in 0) MOT=0 ;; 1) MOT=1 ;; 2) MOT=2 ;; 3) MOT=3 ;; *) MOT=rien ;; esac ; echo $MOT ; + +# On veut intégrer 3 options : +#+* Couleur de caractère "--char"; +#+* Couleur de font "--font"; +#+* Format de texte "--effect". +# Au moins un argument : le texte. +# Pas d'argument --> info des commandes. + +# Fonction pour les choix des couleurs. +function choixCouleur() +{ + case $1 in + (0|noir) + declare -r -i COULEUR=0 + ;; + (1|rouge) + declare -r -i COULEUR=1 + ;; + (2|vert) + declare -r -i COULEUR=2 + ;; + (3|jaune) + declare -r -i COULEUR=3 + ;; + (4|bleu) + declare -r -i COULEUR=4 + ;; + (5|magenta) + declare -r -i COULEUR=5 + ;; + (6|cyan) + declare -r -i COULEUR=6 + ;; + (7|blanc) + declare -r -i COULEUR=7 + ;; + (*) + declare -r -i COULEUR=7 + ;; + esac + echo $COULEUR +} + +# Fonction pour les choix de forme. +function choixForme() +{ + case $1 in + (0|simple) + declare -r -i COULEUR=0 + ;; + (1|gras) + declare -r -i COULEUR=1 + ;; + (2|inactif) + declare -r -i COULEUR=2 + ;; + (3|italique) + declare -r -i COULEUR=3 + ;; + (4|sousligne) + declare -r -i COULEUR=4 + ;; + (5|clignotant) + declare -r -i COULEUR=5 + ;; + (6|inverse) + declare -r -i COULEUR=7 + ;; + (7|invisible) + declare -r -i COULEUR=8 + ;; + (8|barre) + declare -r -i COULEUR=9 + ;; + (*) + declare -r -i COULEUR=0 + ;; + esac + echo $COULEUR +} +# Sans argument, le texte d'aide. +function hlp() +{ + echo "Commande pour formater facilement un texte." + echo -e "Usage : $0 [-h|--text]" + echo -e "Usage : $0 [-c|--char CHAR] [-f|--font FONT] [--effect EFFECT] [--] (-|TEXT)" + echo + echo "--char CHAR" + echo " Colorie les caractères du texte TEXT." + echo "" + echo "--font FONT" + echo " Colorie le font du texte TEXT." + echo "" + echo "--effect EFFECT" + echo " Formate les caractères du texte TEXT." + echo + echo "TEXT : une chaîne de caractères brutes." + echo -e " Possibilité de passer par l’entré standard via \"-\"." + echo + echo "CHAR et FONT :" + echo " 0- noir" + echo " 1- rouge" + echo " 2- vert" + echo " 3- jaune" + echo " 4- bleu" + echo " 5- magenta" + echo " 6- cyan" + echo " 7- blanc" + echo + echo "EFFECT :" + echo " 0- simple" + echo " 1- gras" + echo " 2- inactif" + echo " 3- italique" + echo " 4- souligne" + echo " 5- clignotant" + echo " 7- inverse" + echo " 8- invisible" + echo " 9- barre" + echo + echo "Script fait avec amour. ;-)" +} +# Pas d’argument? Vers l’aide. +if [ -z "$1" ] +then + hlp + exit 0 +fi +# Paramètres par défaut +# Simple blanc sur noir +declare -i CHAR=7 +declare -i FONT=0 +declare -i EFFECT=0 +declare TEXT=' ' +# Contrôle des entrées. +while [[ $# -gt 0 ]] +do + case $1 in + (-h|--help) + hlp + exit 0 + ;; + (-c|--char) + CHAR=$(choixCouleur "$2") + shift 2 + ;; + (-f|--font) + FONT=$(choixCouleur "$2") + shift 2 + ;; + (-e|--effect) + EFFECT=$(choixForme "$2") + shift 2 + ;; + # Dernière entrée. + (--) + if [ -n "$2" ] + then + if [ "$2" = "-" ] + then + TEXT="$(< /dev/stdin)" + else + TEXT="$2" + fi + shift 2 + else + shift 1 + fi + break + ;; + # stdin. + (-) + TEXT="$(< /dev/stdin)" + shift 1 + break + ;; + # Texte par défaut. + (*) + TEXT="$1" + shift 1 + break + ;; + esac +done +# Finalement, on récupère les trois options et le texte. +echo "printf '\E[%1d;3%1d;4%1dm%s\E[0m\n' ${EFFECT} ${CHAR} ${FONT} '${TEXT}'" | bash diff --git a/Bash/eml2mbox.sh b/Bash/eml2mbox.sh index 2a02c5d..d4f96c6 100644 --- a/Bash/eml2mbox.sh +++ b/Bash/eml2mbox.sh @@ -6,17 +6,17 @@ then elif [[ $1 == '-c' ]] then shift 1 - if ! [ -w '$2' ] #Si le fichier n'existe pas ou ne peut pas être écrit + if ! [ -w "$2" ] #Si le fichier n'existe pas ou ne peut pas être écrit then - touch ./$2 #Répertoire cible. + touch ./"$2" #Répertoire cible. echo -e "$2 créé." fi NBR=0 for FICHIER in $1 do echo -e "n°$NBR : $FICHIER" #Fichiers EML à concaténer. - echo -e "From - $(LANG='en_US' date +'%a %b %d %H:%M:%S %Y')" >> ./$2 # Date. - cat "$FICHIER" >> ./$2 #Concaténation du fichier. + echo -e "From - $(LANG='en_US' date +'%a %b %d %H:%M:%S %Y')" >> ./"$2" # Date. + cat "$FICHIER" >> ./"$2" #Concaténation du fichier. echo -e "$FICHIER => $2" NBR=$((NBR + 1)) done