Anglais ↓ Menu ↓

# Mieux que grep

# 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`.

# 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.

RSS · Tweet · FB
Ces liens sociaux préservent votre vie privée
↑ Top ↑
Published on 2009-07-22
Follow @yogsototh
Yann Esposito©
Done with Vim spacemacs & nanoc Hakyll

ADA: `DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp`