Looking for grep Answers? Try Ask4KnowledgeBase
Looking for grep Keywords? Try Ask4Keywords

grepDiferencia entre grep, egrep, fgrep, pgrep.


Introducción

grep , egrep , fgrep , rgrep , pgrep : son comandos en sistemas operativos similares a Unix que imprimen líneas que coinciden con un patrón. El grep busca en el archivo de entrada con nombre las líneas que contienen una coincidencia con el PATRÓN dado. Por defecto, imprime las líneas correspondientes. Además, los programas de variante egrep , fgrep y rgrep son los mismos que grep -E , grep -F y grep -r , respectivamente. Estas variantes están en desuso, pero se proporcionan para compatibilidad con versiones anteriores.

Sintaxis

  • grep [OPTIONS] PATTERN [FILE...]

  • grep [OPTIONS] [-e PATTERN]... [-f FILE]... [FILE...]

Parámetros

Símbolo Detalles Expresiones Regulares Básicas (BRE)
^ el circunflejo se utiliza para hacer coincidir el comienzo de una línea.
$ utilizado para coincidir con el final de una línea.
. coincide con cualquier carácter excepto una nueva línea.
[] coincide con un solo carácter dentro de los paréntesis. Si hay un ^ interior, coincidiría con cualquier otra cosa que no sean los caracteres en el soporte.
\ antes de que cualquiera de los caracteres no alfanuméricos los cita.
* el símbolo coincide con el carácter o subexpresión anterior cero, una o más veces.
\1 Las referencias inversas 1-9 coinciden con el texto exacto por el grupo correspondiente.
\{m,n\} coincide con los elementos anteriores al menos my no más de n veces.
\| foo\|bar coincide con foo o bar.
\? abreviatura de {0,1}
\+ (abreviatura de {1,} ) coincide con el carácter o subexpresión precedente como máximo 1 vez, o al menos 1 vez respectivamente.
\n coincide con una nueva línea, \t coincide con una pestaña, etc.
\w coincide con cualquier constituyente de la palabra y \ W coincide con cualquier carácter que no sea un constituyente de la palabra.
\<\> coincide con la cadena vacía solo al principio o al final de una palabra
\b coincide ya sea con \ B coincide con donde \ b no lo hace.
Símbolo Detalles de expresiones regulares extendidas (ERE)
^ partido solo al principio
$ coincide solo al final de una línea.
. coincide con cualquier carácter (o cualquier carácter excepto una nueva línea).
[…] coincide con cualquiera de los caracteres enumerados dentro de los paréntesis (conjunto de caracteres). Agregue un ^ y los rangos iniciales funcionan como en BRE (vea arriba).
(…) Grupo sintáctico, para usar con reemplazos * o \ DIGIT.
\| para la alternancia: foo | bar coincide con foo o bar.
* coincide con el carácter o subexpresión precedente varias veces: 0, 1 o más veces
+ coincide con 1 o más veces el carácter anterior.
? coincide con los caracteres anteriores 0 o 1 veces.
\ La barra invertida cita el siguiente carácter si no es alfanumérico.
{m,n} coincide con el carácter o subexpresión anterior entre m y n veces (falta en algunas implementaciones); n o m pueden omitirse, y {m} significa exactamente m

Observaciones

fgrep significa "Impresión de expresiones regulares globales de cadena fija". fgrep es lo mismo que grep -F . Este comando es un grep más rápido y se comporta como grep pero NO reconoce ningún meta-carácter de expresión regular como algo especial. La búsqueda se completará más rápido porque solo procesa una cadena simple en lugar de un patrón complejo.


pgrep es un acrónimo que significa "Impresión de expresiones regulares globales de ID de proceso". pgrep revisa los procesos que se están ejecutando actualmente y enumera los identificadores de proceso que coinciden con los criterios de selección para la salida estándar. pgrep es útil cuando lo único que quiere saber es el número de identificación de proceso de un proceso.

grep egrep (grep -E) fgrep (grep -F) pgrep
Expresiones Regulares Básicas (BRE) Expresiones regulares extendidas (ERE) Busca solo cadenas Búsquedas por nombre

Para más información y referencia use algunos de los siguientes enlaces:

¿Cuál es la diferencia entre grep, egrep y fgrep? Unix y Linux StackExchange

¿Por qué mi expresión regular funciona en X pero no en Y? Unix y Linux StackExchange

¿Cuál es la diferencia entre grep, pgrep, egrep, fgrep? Superusuario

Diferencia entre grep, egrep, fgrep, pgrep. Ejemplos relacionados