From 158ec584504bea35d8b3a28dd7b50aa0bb87d594 Mon Sep 17 00:00:00 2001 From: Fred LE MEUR Date: Thu, 14 Mar 2024 14:05:42 +0100 Subject: [PATCH 1/1] =?utf8?q?Session=202024=20(avec=20am=C3=A9liorations)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- E4et5ramasFS.sh | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100755 E4et5ramasFS.sh diff --git a/E4et5ramasFS.sh b/E4et5ramasFS.sh new file mode 100755 index 0000000..83d5a54 --- /dev/null +++ b/E4et5ramasFS.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +# merci `shellcheck` https://www.shellcheck.net/wiki/SC2086 + +cd ~/p24 || exit # pour crontab (https://www.shellcheck.net/wiki/SC2164) +dossier=4CCFE4et5 # 1/3 CIBLE (`mkdir` automatique) +orig=/public_html/ # 2/3 Source (dossier) +lesfic='E4/TablSynth.pdf E5/FicheRP1.pdf E5/FicheRP2.pdf' # 3/3 liste de fichier(s) +pourvoir=~/public_html/p24/$dossier.html # ~~autogestion~~ +lespseudo=p24liste.350 # liste confidentielle +promo=p24 +log=$dossier/ramasser_$lespseudo.log # au format MarckDown pour pandoc +if [[ -d $dossier ]] + then + echo "Le dossier \"$dossier\" existe." > /dev/null +else + if mkdir $dossier + then + echo "Le dossier $dossier à été créé." + else + echo "Échec mkdir $dossier !" + exit 1 + fi +fi +# voir http://abs.traduc.org/abs-fr/ch14.html#readredir +exec 6>&1 # Lie le descripteur de fichier #6 avec stdout. + # Sauvegarde stdout. +exec > $log # stdout remplacé par le fichier... +echo "% Évaluation de la livraison de" +echo " " +echo "~~~" +echo "$lesfic" +echo "~~~" +echo " dans \`~$orig\` le " ; date +echo " " +while IFS=, read -r pseudo nom prenom _ +do +echo " " ; echo "* **$nom $prenom**" +for fic in $lesfic + do + if [[ -f "/skole/tjener/home0/$promo/$pseudo$orig$fic" ]] + then + ficCible=${fic/\//_} # merci https://abs.traduc.org/abs-fr/ch10.html + if cp -p "/skole/tjener/home0/$promo/$pseudo$orig$fic" "$dossier/$pseudo$ficCible" + then + echo -e "\t* $fic livré" + echo "~~~" + pdfinfo $dossier/$pseudo$ficCible | grep -e "Pages" -e "Page size" + echo "~~~" + else + echo -e "\t* $fic *NON COPIÉ*" + fi + else + echo -e "\t* insuffisant ($fic manquant)" + fi + done +done <$lespseudo # Redirection d'entrées/sorties. +echo " " +echo "---- " +echo " " +echo "~~~" +ls -rtlh $dossier +echo "~~~" +exec 1>&6 6>&- # Restaure stdout et ferme le descripteur de fichier #6. +pandoc -f markdown --ascii -s -c /~fred/pandoc.css --highlight-style haddock -t html5 -o $pourvoir $log +exit 0 -- 2.39.5