scratch/content/html/fr/blog/02_ackgrep.md
2010-05-09 14:53:46 +02:00

1.7 KiB

created_at kind title author_name author_uri menupriority
2009-07-22T16:15:23+02:00 article Mieux que grep Yann Esposito yannesposito.com 1

Mise à jour

Comme Andy Lester me l'a fait remarqué. ack est un simple fichier perl qu'il suffit de copier dans son répertoire personnel ~/bin. Maintenant j'ai ack sur mon serveur professionnel.

Il suffit d'aller sur http://betterthangrep.com pour le télécharger.

Sincèrement, je ne comprend pas qu'ack ne soit pas une commande implémentée par défaut sur les systèmes UNIX. Je ne peux vraiment plus m'en passer, il m'est devenu aussi essentiel qu'un which ou un find.

newcorps

Mieux que grep

Un des mes usages principaux de grep est

grep 'pattern' **/*(.)

La plupart du temps c'est suffisant, mais ajouter de la coloration améliore beaucoup l'utilité de cette commande. Il existe déjà un outil pour ça : il s'appelle ack-grep sous Ubuntu. Comme je ne peux pas l'installer sur le serveur de mon entreprise, j'en ai créé un moi-même en quelques lignes :

#!/usr/bin/env zsh (($#<1)) && { print 'usage: ack "regexp"' >&2; exit 1 }

listeFic=( **/(.) ) autoload zargs zargs -- $listeFic -- grep $1 | perl -ne 'use Term::ANSIColor; if (m/([^:])(:.)('$1')(.)/) { print color("green").$1; print color("reset").$2; print color("black","on_yellow").$3; print color("reset").$4."\n"; } '

Pour mon utilisation personnelle et celle de mon équipe c'est suffisant. J'espère que ça pourra vous aider.