Faire des qcm simplement - retour accueil
git clone git://bebou.netlib.re/qcm
Log | Files | Refs | README |
commit dd00da8f2c99ec33cbdab1d81e3b08827893fd4d parent a548e505bbedd99ebe71b0cb56f99d7d167468fd Auteurice: Arthur Pons <arthur.pons@unistra.fr> Date: Thu, 7 Nov 2024 20:10:45 +0100 Gestion plus simple de conv percent-enc -> utf8 En fait du fait de l'encodage des blancs en %20 etc on a pas besoin de délimiter l'xargs. Par contre ça nécessité de redoubler l'échappement du \x. Encore plus portable. Diffstat:
M | README | | | 2 | +- |
M | qcm.sh | | | 4 | ++-- |
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/README b/README @@ -9,7 +9,7 @@ Faire des sondages simples en parsant les logs d'un serveur web * `stdbuf` * `bc` * un `sed` posix - * un xargs avec `-0` (debian et macOS l'ont) + * un `xargs` posix Testé sous debian 12 et le serveur web nginx packagé pour. diff --git a/qcm.sh b/qcm.sh @@ -54,8 +54,8 @@ demander() { while :;do dat=$(< $tmpd/in sort $uopt | cut -d ' ' -f7 | cut -d'/' -f3 | - sed 's,%\([0-9A-F][0-9A-F]\),\\\x\1,g' | tr '\n' '\0' | - xargs -0 printf "%b\n" | grep -v "^$" | + sed 's,%\([0-9A-F][0-9A-F]\),\\\\\x\1,g' | + xargs printf "%b\n" | grep -v "^$" | sort | uniq -c | sort -rn) [ -n "$dat" ] && tot=$(( $(echo "$dat" | awk '{print $1}' | paste -s -d+ -) )) opts=$(echo "$options" | tr '~' '\n' | paste $tmpd/o -)