ack 2.0

, par  Xavier Claude , popularité : 2%

La commande ack est un équivalent à grep, optimisé pour parcourir les répertoires hétérogènes de code source. Par défaut, si aucun fichier n’est donné en paramètre, ack parcourt le dossier courant.

Publiée sous Artistic License 2.0, les principales nouveautés de cette version 2 sont :

  • Par défaut, et contrairement à la version 1.x, tous les fichiers, même ceux dont le type n’est pas connu, sont parcourus. Il est possible de revenir à l’ancien comportement avec l’option -k.
  • L’identification du type de fichier est améliorée, elle se base soit sur l’extension (.rb identifie un fichier de type Ruby), soit sur le nom (Rakefile identifie un fichier de type Ruby), soit sur le contenu du fichier (/#!.+ruby/ dans la première ligne d’un fichier identifie également un fichier de type de Ruby).
  • Les fichiers de configuration sont plus granulaires : /etc/ackrc est global au système, ~/.ackrc est spécifique à l’utilisateur et l’on peut avoir un fichier spécifique au projet courant.
  • L’option -x dit à ack de parcourir la liste de fichiers envoyée via stdin à la manière de xargs, ce qui permet d’écrire des commandes du genre git ls|ack --type=cpp -x foo.

Il est aussi possible d’écrire des greffons en Perl pour aller lire d’autres types de fichiers comme une archive ZIP ou un classeur ODF.

N. B. : Attention, sous Debian et Ubuntu, le logiciel s’appelle ack-grep (ack existant déjà). Le site officiel d’ack présente la méthode pour l’installer en tant que ack, qui est plus propre que celle décrite dans la page de manuel du paquet ack-grep (dans la dernière question de la FAQ).

Exemple d’utilisation qui va chercher dans les sources de LinuxFr.org les fichiers de type Ruby qui contiennent le mot « rédaction » :

Exemple d'utilisation d'ack

Lire les commentaires

Cet article est repris du site http://linuxfr.org/news/ack-2-0

Publications Derniers articles publiés

Sites favoris Tous les sites

84 sites référencés dans ce secteur