qcm

Faire des qcm simplement - retour accueil

git clone git://bebou.netlib.re/qcm
Log | Files | Refs | README |

commit 69d3468d643963014de12cb5f4ada44305942cc4
parent ca63340f09d78fcd2ab5dc398bfe9178436f8440
Auteurice: Arthur Pons <arthur.pons@unistra.fr>
Date:   Fri,  8 Nov 2024 18:19:48 +0100

Légère généricisation du parsage des logs

Et meilleures identification des deux lignes concernées avec un gros
commentaire.

Normalement devrait fonctionner pour tout logs ayant sur la ligne au
moins :

    "ip n'importe-quoi type-de-requête /chemin/réponse n'importe-quoi"

où les espaces sont un ou plusieurs espaces.
Donc en ce qui nous concerne, par exemple :

    1.1.1.1 blabla truc muche GET /YFf/A blablabla truc much

Diffstat:
Mqcm.sh | 5+++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/qcm.sh b/qcm.sh @@ -48,11 +48,12 @@ demander() { pattern="[$answers]$choix ";; esac - tail -fn0 "$logs" | stdbuf -oL grep -E "GET /$id/$pattern" >> $tmpd/in & + tail -fn0 "$logs" | stdbuf -oL grep -E " GET /$id/$pattern" >> $tmpd/in & # PARSAGE DE LOG tailpid=$! while :;do - res=$(< $tmpd/in sort $uopt -k1,1 | cut -d ' ' -f1,7 | cut -d'/' -f3 | + res=$(< $tmpd/in sort $uopt -k1,1 | + grep -Eo "/$id/[^ ]+ " | cut -d'/' -f3- | # PARSAGE DE LOG sed 's,%\([0-9A-F][0-9A-F]\),\\\\\x\1,g' | xargs printf "%b\n" | grep -v "^$" | sort | uniq -c | sort -rn)