[gull] grep et barre de progression
Félix Hauri
felix at f-hauri.ch
Thu Jan 2 18:53:03 CET 2025
Bonjour et bonne année!
Le truc est parti de pouvoir mettre une barre de progression lorsqu'on
lance `grep` sur beaucoup de fichiers...
Je partais de lancer grep en arrière plan pour le monitorer...
Du coup, je peux égallement suivre sa progression sur les gros fichiers
(avec "pos" dans /proc/$pid/fdinfo/3 ). Le script devient utile
égallement sur un ou des gros fichiers.
puis je me suis dit que tant qu'à faire de le lancer en arrière plan,
je peux le lancer plusieurs fois...
J'ai essayé puis je me suis demandé s'il n'existait pas déjà qqch,
j'ai trouvé 'ugrep', écrit en C, je me suis dit que mon script serait
moins rapide, mais bon ugrep n'affiche pas de barre de progression
et ne semble pas franchement plus rapide que mon ppGrep.sh...
( Ok je suspecte ppGrep d'être moins system friendly ;)
https://f-hauri.ch/vrac/ppGrep.sh.txt
NB: les sortie standard ET d'erreur sont préservées:
$ ./ppGrep.sh -C ~ 'Some string' 2>/tmp/ppGrep.err >/tmp/ppGrep.log
fonctionnera, avec l'affichage dans le terminal, les erreurs dans
le fichier .err et la sortie dans le .log.
$ ./ppGrep.sh -h
Usage: ppGrep.sh [OPTIONS] <PATTERN> [FILE] [FILE...]
Options [-E|-F|-G|-P] [-l|-L] [-s] [-a] [-o] [-c] [-Z] [-i] [-v]
and [-x], as [-e "PATTERN"] and [-f "PATTERN FILE"] are
bind to 'grep' tasks (see man grep).
-j NUM Max job to run together (default: "3")
-C PATH 'cd' to PATH before running (instead of "/tmp").
-T FILE Files list from FILE
-z Files list are null bytes separated.
-h show this.
Note: FILE cannot be else than a file! There are no '-r' option.
Il m'arrive de rechercher quel paquet est installé sur mon poste
et qui contient un fichier bien précis:
$ ./ppGrep.sh -l requests /var/lib/dpkg/info/*list
Là, c'est agréable!
Le point de départ: https://stackoverflow.com/a/79301365/1765658
--
Félix Hauri - <felix at f-hauri.ch> - http://www.f-hauri.ch
More information about the gull
mailing list