GNU grep

GNU grep
GNU grep
Official gnu.svg
Développeur Projet GNU
Première version années 1980
Dernière version 2.10 (16 novembre 2011) [+/-]
Environnement GNU/Linux, FreeBSD, NetBSD, Mac OS X, UNIX, GNU
Type CLI
Licence GNU GPL
Site web (en) Site officiel

GNU grep est l'implémentation de la commande UNIX grep par le projet GNU. C'est un logiciel libre distribué selon les termes de la licence publique générale GNU.

Sommaire

Historique

Article détaillé : grep.

La commande grep est initialement écrite pour UNIX par Ken Thompson. Le programme sera implémenté en logiciel libre pour le système GNU dès les années 1980[1] après le lancement du projet GNU par Richard Stallman.

L'implémentation grep du projet GNU est aujourd'hui largement utilisée, par les systèmes GNU/Linux, FreeBSD, mais aussi Mac OS X.

Caractéristiques techniques

Exemples

Dans le cas le plus simple, grep est utilisé pour afficher les lignes contenant un certain mot. Pour chercher les lignes contenant le nom Durand dans un fichier de contact téléphonique :

 grep Durand ListeNuméros.txt

qui retournera seulement les lignes contenant Durand :

 Mathieu Durand, 0723237694
 Bernard Durand, 0966324355

Pour chercher la chaine plop dans tous les fichiers du répertoire courant :

 grep plop *

Pour chercher la chaine plop dans tous les fichiers du répertoire courant ainsi que dans les sous-répertoires (le caractère . est un chemin relatif qui désigne le répertoire courant) :

 grep -r plop .

Idem recherche précédente, mais en ne retournant que les noms des fichiers qui contiennent plop :

 grep -lr plop .

Pour les cas plus élaborés, grep permet de faire des recherches à l'aide d'expressions rationnelles. Pour rechercher toutes les lignes qui commencent par la lettre 'A' ou 'a' dans les fichiers du répertoire courant :

 grep '^[Aa]' *

Utilisé derrière un pipe, il permet de filtrer des sorties standards, par exemple pour trouver les processus du démon httpd en retirant la ligne du grep :

 ps auxwww | grep httpd | grep -v grep

Le pipe permet également de séparer des alternatives à une recherche (mais il faut le faire précéder d'une contre oblique pour ne pas chercher le caractère 'barre verticale' lui-même). Ainsi pour chercher les lignes contenant 'Dupont', 'Dupond' ou 'Durand', on entre :

 grep 'Dupont\|Dupond\|Durand' *

Utilisé avec la commande find, on obtient un outil de recherche performant, permettant par exemple trouver tous les fichiers correspondants à un masque contenant une chaine de caractères bien précise :

 find /usr/src/linux -name "*.[ch]" -exec grep -li "foobar" {} \;

Options courantes

  • -F (--fixed-string) : effectue une recherche textuelle simple, sans expressions rationnelles ;
  • -v (--invert-match) : inverse le comportement, grep affiche alors uniquement les lignes qui ne contiennent pas de correspondance avec l'expression rationnelle ;
  • -i (--ignore-case) : rend la recherche insensible à la casse.
  • -r (--recursive) : effectue une recherche récursive

Notes et références

  1. (en) Thomas Lord, ancien hacker du projet GNU et employé à l'origine par la FSF cite l'implémentation en logiciel libre de grep comme tâche prioritaire du projet ( O'Reilly Broadcast, le 27 avril 2009).

Articles connexes

Liens externes



Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article GNU grep de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • GREP — [gɹɛp] ist ein wichtiges Programm, das unter den Betriebssystemen Unix und Unix Derivaten der Suche und Filterung definierter Zeichenketten in Dateien dient. Es wurde ursprünglich von Ken Thompson entwickelt.[1] Der Begriff steht für… …   Deutsch Wikipedia

  • Grep — [gɹɛp] ist ein wichtiges Programm, das unter den Betriebssystemen Unix und Unix Derivaten der Suche und Filterung definierter Zeichenketten in Dateien dient. Es wurde ursprünglich von Ken Thompson entwickelt.[1] Der Begriff steht für… …   Deutsch Wikipedia

  • grep — est un programme en ligne de commande de recherche de chaînes de caractères, initialement écrit pour UNIX par Ken Thompson, puis amélioré par l utilisation de l algorithme d Aho Corasick. Il existe de nombreuses implémentations grep sur… …   Wikipédia en Français

  • Grep — Saltar a navegación, búsqueda grep es una utilidad de la línea de comandos escrita originalmente para ser usada con el sistema operativo Unix. Usualmente, grep toma una expresión regular de la línea de comandos, lee la entrada estándar o una… …   Wikipedia Español

  • grep — es una utilidad de la línea de comandos escrita originalmente para ser usada con el sistema operativo Unix. Usualmente, grep toma una expresión regular de la línea de comandos, lee la entrada estándar o una lista de archivos, e imprime las líneas …   Wikipedia Español

  • grep — GNU grep Разработчик Проект GNU Операционная система Linux, Mac OS, Solaris и Windows Языки интерфейса Английский и другие Аппаратная платформа IA 32, x86 64, PowerPC и другие …   Википедия

  • Grep — est un programme en ligne de commande initialement écrit pour Unix utilisant l algorithme d Aho Corasick. Le comportement habituel de grep est de recevoir une expression rationnelle en ligne de commande, de lire les données sur l entrée standard… …   Wikipédia en Français

  • Grep (Unix) — grep grep est un programme en ligne de commande initialement écrit pour Unix utilisant l algorithme d Aho Corasick. Le comportement habituel de grep est de recevoir une expression rationnelle en ligne de commande, de lire les données sur l entrée …   Wikipédia en Français

  • grep — [gɹɛp] ist ein Programm, das unter den Betriebssystemen Unix und Unix Derivaten der Suche und Filterung definierter Zeichenketten aus Dateien dient. Es wurde ursprünglich von Ken Thompson entwickelt.[1] Der Begriff grep steht für global/regular… …   Deutsch Wikipedia

  • Grep — is a command line text search utility originally written for Unix. The program s name derives from the Unix ed command, g/re/p which performs a similar operation.cite web|url=http://www.catb.org/ esr/jargon/html/G/grep.html |title=grep… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”