Descargar como txt, pdf o txt
Descargar como txt, pdf o txt
Está en la página 1de 3

grep

grep es una utilidad de la lnea de comandos escrita originalmente para ser usada
con el sistema operativo Unix.
Usualmente, grep toma una expresin regular de la lnea de comandos, lee la entrada
estndar o una lista de archivos, e imprime las lneas que contengan coincidencias p
ara la expresin regular.
Su nombre deriva de un comando en el editor de texto ed que tiene la siguiente f
orma: g/re/p y significa hacer una bsqueda global para las lneas que encajen con la
expresin regular (regular expression en ingls), e imprimirlas. Hay varios argument
os que se pueden usar con grep para modificar el comportamiento por defecto.
Existen otros retroacrnimos (incorrectos) para el nombre, entre ellos: General Re
gular Expression Parser (analizador general de expresiones regulares), General R
egular Expression Print (imprimir expresin regular general), y Global Regular Exp
ression Print (imprimir expresin regular global), ste ltimo no tan lejano de la rea
lidad.
ndice [ocultar]
1 Sintaxis
2 Historia
3 Funcionamiento
4 Ejemplos
4.1 Variantes
5 Referencias
6 Vase tambin
7 Enlaces externos
Sintaxis[editar]
$ grep [opciones] [expresin regular] [archivo]
Historia[editar]
Grep es fruto de la filosofa modular de Unix: crear pequeos programas altamente espe
cializados en una sola cosa, para luego utilizarlos combinados por medio de tube
ras. Eventualmente el programa apareci en otras encarnaciones, como por ejemplo en
DOS, actuando como herramienta de apoyo a compiladores.
Han existido varios intentos para darle una interfaz grfica al programa, pero has
ta ahora grep sigue siendo utilizado principalmente en lneas de comandos, mezclad
o con otros programas como tail, ps, y less.
La versin ms popular es GNU Grep, que est disponible para diversos sistemas operati
vos, entre ellos GNU/Linux, y existe el proyecto Gnuwin32, que proporciona una v
ersin de grep para Windows.1
Funcionamiento[editar]
Grep generalmente ejecuta alguna variante del algoritmo Boyer-Moore (para bsqueda
de strings), utilizando expresiones regulares para definir la consulta. Puede m
anejar archivos, directorios (y subdirectorios), o la entrada estndar (stdin).
El programa es configurable por medio de opciones de invocacin, pudiendo (por eje
mplo) mostrar las lneas con aciertos, desaciertos, el contexto de la coincidencia
, etc.
Ejemplos[editar]
Para mostrar todas las lneas que contienen la cadena tal en una lista de archivos (
donde * representa todos los archivos en el directorio actual):
$ grep tal *
Para mostrar todas las lneas que no contengan la cadena tal, se usa -v:

$ grep -v tal *
Para mostrar slo el nombre de tales archivos, se usa -l:
$ grep -l tal *
Para mostrar slo el nombre de los archivos que no contienen la cadena, se usa -L:
$ grep -L tal *
Para buscar recursivamente, no slo en los archivos del directorio actual sino tam
bin en los de sus subdirectorios (donde "." representa el directorio actual), se
usa -r:

$ grep -r tal .
En solaris no funciona el parmetro -r. Para obtener la misma funcionalidad, se de
be utilizar adems el comando find y el comando exec (Recordemos, el parmetro -l mostr
camente el nombre del archivo que contenga la cadena "tal"):
$ find . -name "*.*" -exec grep -l "tal" {} \;
La opcin -r puede no estar disponible en todas las plataformas Unix. De ser as uti
lizar:
$ find . -type f | xargs grep tal .
Para buscar todas las lneas que comienzan por Ahora y terminan con siempre seguido de
una cantidad arbitraria de espacio en blanco (ntese que el carcter ^ representa e
l inicio de la lnea, as como $ representa el final):
$ grep '^Ahora.*siempre *$'
Para hacer que grep lea de la entrada estndar, no se especifica archivo alguno. P
or ejemplo, como ps -ef lista todos los procesos actualmente en ejecucin, el sigu
iente comando imprime todos los procesos que est ejecutando el usuario actual:
$ ps -ef | grep $USER
o
$ ps -efa | grep $USER
Mostrar las cuentas de usuarios que presenten actividad en ese momento.
Variantes[editar]
Existen muchos derivados de grep; por ejemplo agrep, que
rep (grep aproximado), que sirve para hacer una bsqueda
rep para buscar patrones fijos; egrep para bsquedas que
gulares ms complejas; y tcgrep, que utiliza la sintaxis
de Perl. Todas estas variantes de grep han sido llevadas
rativos.

significa approximate g
aproximada de cadenas; fg
involucren expresiones re
de expresiones regulares
a diversos sistemas ope

Muchos otros comandos contienen la cadena grep. Por ejemplo pgrep, que muestra los
procesos cuyos nombres encajan con cierta expresin regular.
En Perl existe la funcin grep, que recibe una expresin regular y una lista, y devu
elve los elementos de la lista que encajan con dicha expresin.
El sistema Windows tiene una utilidad llamada findstr, que se aproxima a las funci
ones de grep.
Referencias[editar]
Volver arriba ? Grep para Windows
Vase tambin[editar]
Expresin regular
Enlaces externos[editar]
GNU grep (alemn)
grep(1)
Comandos generales en el Manual de Debian

GNU grep - el grep que viene con las distribuciones GNU/Linux.


manual de grep (en ingls).
documentacin de texinfo (en ingls).
Documentacin (en ingls).

También podría gustarte