Bonjour,
Hizoka a écritIl doit y avoir un bug avec ton code, des que je veux le faire défiler, il disparaît.
Je ne sais pas, chez moi l'affichage de la fenêtre code est normal, je tente un second affichage
#!/bin/bash
# paramètres du programme remplacés par des paramètres tests
#REP="/home/phil/Documents/JeCodeShell/testProgress/BarreProgress/Racine_Petit/"
REP="/home/phil/Documents/JeCodeShell/"
TailleMo=0
CheminActionDbl="/home/phil/Documents/JeCodeShell/testProgress/BarreProgress/CheminResultat"
FILE2="Resultat.txt"
FILE3="FicResult.txt"
# effacer Fichiers Resultats
truncate -s 0 $CheminActionDbl/$FILE2
truncate -s 0 $CheminActionDbl/$FILE3
# Ajout d'une mesure du temps
select itemAct in "-Lancer directement" "- Lancer avec compteur "
do
echo "Le choix fait $REPLY:$itemAct"
# pour tester la variable de type entier :
if let $REPLY 2>/dev/null
then
echo "choix conforme $itemAct "
case "$REPLY" in
1)
LaDATE='/bin/date'
BEFORE=$($LaDATE +'%s')
echo $BEFORE
echo "choix 1"
find "$REP" -not -path '*/\.*' -type f -size +"$TailleMo"M -printf "%h*%f*%s*%c* dernier accès le %AA %Ad %AB %AY à %AH:%AM:%AS*" -exec /usr/bin/md5sum -b {} \; | sort -n -t "*" -k 6| awk -F"*" '{ TMo=$3/1048576; printf $1" § "$2 " § " TMo " § " $4 " § " $5 " § " $6 "\n"; }' >> "$CheminActionDbl/$FILE2"
cat "$CheminActionDbl/$FILE2"
;;
2)
LaDATE='/bin/date'
BEFORE=$($LaDATE +'%s')
echo $BEFORE
echo "choix2"
echo "
============================================================================
3eMethode Hizoka post 37"
TailleTotale=$(du -c "$REP" | sed -n '/total/ s/[[:space:]].*//p')
TailleOK=0
# La ligne suivante affiche dans la variable tableau Fichiers les différents champs avec un séparateur=@ entre chemin et nom fichier et un séparateur espace entre les autres info utilise \0 pour caractere de fin de ligne
#avec -t ajoute également silencieusement une nouvelle ligne finale manquante si le flux d'entrée n'en a pas
#l' option -d pour fournir un délimiteur de ligne différent.
mapfile -d '' -t Fichiers < <(find "$REP" -not -path '*/\.*' -type f -size +"$TailleMo"M -printf "%h@%f@%s*%c* dernier accès le %AA %Ad %AB %AY à %AH:%AM:%AS*\0")
for Fichier in "${Fichiers[@]}"
do
# ${paramètre%%mot} suppression d'un motif correspondant au suffixe (ici mot= @*) Sur un tableau, tous ses éléments sont transformés
# %enlève le plus court motif, et %% le plus long
h="${Fichier%%@*}"
f="${Fichier%@*}"
# ${paramètre##mot} suppression d'un motif correspondant au préfixe (ici mot=*@) Sur un tableau, tous ses éléments sont transformés
# #enlève le plus court motif,
f="${f#*@}"
# et ## enlève le plus long
reste="${Fichier##*@}"
# echo "Fichier : ${Fichier}"
# echo "%h : ${h}"
# echo "%f : ${f}"
# echo "reste : ${reste}"
Taille=$(du "${h}/${f}" | sed 's/[[:space:]].*//')
TailleOK=$((TailleOK + Taille))
# echo -en "\r... affiche l'incrémentation du compteur sur place
echo -en "\rProgression : ${TailleOK} / ${TailleTotale}"
# reconstruction de la ligne résutat initiale suivante
# find "$REP" -not -path '*/\.*' -type f -size +"$TailleMo"M -printf "%h*%f*%s*%c* dernier accès le %AA %Ad %AB %AY à %AH:%AM:%AS*" -exec /usr/bin/md5sum -b {} \; | sort -n -t "*" -k 6| awk -F"*" '{ TMo=$3/1048576; printf $1" § "$2 " § " TMo " § " $4 " § " $5 " § " $6 "\n"; }' | tee -a "$CheminActionDbl/$FILE2"
#/usr/bin/md5sum -b "${h}/${f}"
result=$(/usr/bin/md5sum -b "${h}/${f}")
#echo '$result='"$result"
result2=$(echo $result | cut -d '*' -f 1)
#echo '$result2='"$result2"
#echo "$h*$f*${reste}$result2" 2>&1 | sort -n -t "*" -k 6| awk -F"*" '{ TMo=$3/1048576; printf $1" § "$2 " § " TMo " § " $4 " § " $5 " § " $6 "\n"; }' | tee -a $CheminActionDbl/$FILE3
echo "$h*$f*${reste}$result2" 2>&1 | sort -n -t "*" -k 6| awk -F"*" '{ TMo=$3/1048576; printf $1" § "$2 " § " TMo " § " $4 " § " $5 " § " $6 "\n"; }' >> $CheminActionDbl/$FILE3
done
echo "
"
cat "$CheminActionDbl/$FILE3"
;;
*)
echo "mauvais choix"
;;
esac
else
echo "Entrée erronée ! variable non numérique"
fi
# Compute and display the elapsed time
AFTER=$($LaDATE +'%s')
echo "
$AFTER"
ELAPSED=$(($AFTER - $BEFORE))
echo "Temps écoulé =$ELAPSED"
done