[gull] [EXTERNAL] grep et barre de progression

Félix Hauri felix at f-hauri.ch
Fri Jan 3 15:48:07 CET 2025


Example:

 $ ppGrep.sh -sl vt100 /var/lib/dpkg/info/*.list
  node-quick-lru.list                                                        0.00%
                                                                             0.00%
                                                                             0.00%
  Proc run: 0, done:  9. Files: 6561/6561██████████████████████████████████100.00%
  /var/lib/dpkg/info/cm-super-minimal.list
  /var/lib/dpkg/info/emacs-common.list
  /var/lib/dpkg/info/emacs-el.list
  /var/lib/dpkg/info/ncurses-base.list
  /var/lib/dpkg/info/ncurses-term.list
  /var/lib/dpkg/info/python3-prompt-toolkit.list
  /var/lib/dpkg/info/python3-twisted.list
  /var/lib/dpkg/info/texlive-base.list
  /var/lib/dpkg/info/texlive-fonts-extra.list

Cela fonctionne bien, tant qu'il y a du temps qui se passe pour chaque
grep... Si tout est en cache et que les sous-process terminent en
même temps, on peut perdre des fins de process (``wait -p''):

En relançant la même commande alors que tout est en cache mémoire,
j'obtiens facilement:

  $ ppGrep.sh -sl vt100 /var/lib/dpkg/info/*.list
  WARNING: Kill 2138039!
  Ouptut may be inaccurate!
  Proc run: 0, done:  8. Files: 5832/6561██████████████████████████████▏    88.89%
  /var/lib/dpkg/info/cm-super-minimal.list
  /var/lib/dpkg/info/emacs-common.list
  /var/lib/dpkg/info/emacs-el.list
  /var/lib/dpkg/info/ncurses-base.list
  /var/lib/dpkg/info/ncurses-term.list
  /var/lib/dpkg/info/texlive-base.list
  /var/lib/dpkg/info/texlive-fonts-extra.list
 
Mais dans ces cas là, utilser `grep' donnera une réponse quasi instantannée.

En fait, mon script fonctionne bien tant qu'il a une certaine utilité
aka le temps d'afficher des barres... ( NB: Je pourrais, lorsque
"inaccurate" est détecté, alors effacer tout et relancer grep en
tâche simple ;-)

Prochaine étape, traiter des fichiers compressés...

-- 
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch


More information about the gull mailing list