Grep

Software captura de pantalla:
Grep
Detalles de software:
Versión: 3.1 Actualizado
Fecha de carga: 12 Jul 17
Promotor: grep Team
Licencia: Libre
Popularidad: 4

Rating: 4.0/5 (Total Votes: 1)

Grep es una utilidad única y muy poderosa de Linux / UNIX que le permite buscar una cadena específica en uno o varios archivos en un sistema operativo GNU / Linux. Se trata de un software de línea de comandos que ha sido diseñado desde cero para producir sólo las líneas de coincidencia. El comando Grep se compone de selección e interpretación de regexp, control de salida, control de contexto y diversas opciones.

Para usar Grep desde la línea de comandos, tendrá que escribir el comando & lsquo; grep --help & rsquo; En un emulador de terminal o directamente en la consola de Linux, que mostrará todas las opciones disponibles, así como varios ejemplos sobre cómo utilizar la herramienta para encontrar un determinado patrón en un archivo. El ejemplo de uso estándar dado por el comando mencionado es & ldquo; grep [OPTION] ... PATTERN [FILE] ... & rdquo;

Quiero ver un ejemplo!

El ejemplo más básico es & ldquo; grep -i 'hola mundo' menu.h main.c & rdquo ;, donde & ldquo; -i & rdquo; Es la [OPCIÓN] & ldquo; hello world & rdquo; Es el menú [PATRÓN] y & ldquo ;.h & rdquo ;. Y & ldquo; menu.c & rdquo; Son el [ARCHIVO]. Este comando simple se utiliza para buscar el "mundo hola". Patrón en cada uno de los archivos dados. Tenga en cuenta, sin embargo, que [PATTERN] es, de forma predeterminada, una expresión regular básica (BRE).

Tenga en cuenta que al utilizar la etiqueta & ldquo; - & rdquo; Símbolo de la cadena [FILE] en el ejemplo anterior, Grep leerá automáticamente la entrada estándar. Además, si no se especifica [FILE], leerá el directorio actual.


¿Se ejecuta en mi caja de Linux?

Grep es considerado por los desarrolladores de Linux en todo el mundo una utilidad esencial de UNIX, lo que significa que se instala de forma predeterminada en casi todos los sistemas operativos GNU / Linux. Si por alguna extraña razón tu caja de Linux no tiene la herramienta grep instalada, podrás instalarla fácilmente desde los repositorios de software por defecto de tu distribución.

Lo que es nuevo en esta versión:

  • Mejoras:
  • El rendimiento se ha mejorado mucho en la búsqueda de archivos que contienen agujeros, en plataformas donde el flag SEEK_DATA de lseek funciona de manera eficiente.
  • El rendimiento ha mejorado para rechazar datos que no pueden igualar la primera parte de un patrón no trivial.
  • El rendimiento ha mejorado para cadenas muy largas en patrones.
  • Si un archivo contiene datos incorrectamente codificados para la configuración regional actual, y esto se descubre antes de que se salga cualquiera de los contenidos del archivo, ahora grep trata el archivo como binario.
  • grep -P ya no informa de un error y sale cuando se le dan datos UTF-8 no válidos. En su lugar, considera que los datos no son coincidentes.
  • Corrección de errores:
  • grep ya no mishandles patrones que contienen w o W en localidades multibyte.
  • grep no podría contar nuevas líneas internamente al operar en entornos multibyte no UTF8, lo que le llevaría a imprimir potencialmente muchas líneas que no coincidían. Por ejemplo, el comando, seq 10 | Env LC_ALL = zh_CN src / grep -n .. & quot; Imprimiría esto: 1: 1 2 3 4 5 6 7 8 9 10 lo que implica que el fósforo, "10 & quot; Estaba en la línea 1. [bug introducido en grep-2.19]
  • grep -F -x -o ya no imprime una nueva línea extra para cada coincidencia. [Bug introducido en grep-2.19]
  • grep en un entorno local multibyte que no sea UTF8 podría equivocarse en el centro de un carácter multibyte cuando se utiliza una alternativa anclada en un patrón, lo que lo lleva a imprimir líneas que no coinciden. [Bug presente desde & quot; el principio & quot;]
  • grep -FY ya no coincide en los entornos multibyte no UTF8 como Shift-JIS, cuando la entrada contiene un carácter de 2 bytes, XY, seguido del patrón de búsqueda de un solo byte, Y. grep encontraría la primera , El "Y" de coincidencia de medio-multi-byte y, a continuación, avanzar erróneamente un puntero interno un byte demasiado lejos, omitiendo el objetivo Y, Justo después de eso. [Bug introducido en grep-2.19]
  • grep -E rechazó inigualable ')', en lugar de tratarlo como ')'. [Bug presente desde & quot; el principio & quot;]
  • En NetBSD, grep -r ya no informa del tipo de archivo o formato inadecuado & quot; Al negarse a seguir un vínculo simbólico. [Error introducido en grep-2.12]
  • Cambios en el comportamiento:
  • La variable de entorno GREP_OPTIONS ahora está obsoleta, y ahora grep advierte si se usa. Utilice un alias o una secuencia de comandos.
  • En locales con codificación de caracteres multibyte que no sean UTF-8, grep -P ahora reporta un error y sale en lugar de comportarse mal.
  • Al buscar datos binarios, grep ahora puede tratar los bytes sin texto como terminadores de línea. Esto puede aumentar significativamente el rendimiento.
  • grep -z ya no trata automáticamente el byte ' 200' como datos binarios.

Novedades en la versión 3.0:

  • Mejoras:
  • El rendimiento se ha mejorado mucho en la búsqueda de archivos que contienen agujeros, en plataformas donde el flag SEEK_DATA de lseek funciona de manera eficiente.
  • El rendimiento ha mejorado para rechazar datos que no pueden igualar la primera parte de un patrón no trivial.
  • El rendimiento ha mejorado para cadenas muy largas en patrones.
  • Si un archivo contiene datos incorrectamente codificados para la configuración regional actual, y esto se descubre antes de que se salga cualquiera de los contenidos del archivo, ahora grep trata el archivo como binario.
  • grep -P ya no informa de un error y sale cuando se le dan datos UTF-8 no válidos. En su lugar, considera que los datos no son coincidentes.
  • Corrección de errores:
  • grep ya no mishandles patrones que contienen w o W en localidades multibyte.
  • grep no podría contar nuevas líneas internamente al operar en entornos multibyte no UTF8, lo que le llevaría a imprimir potencialmente muchas líneas que no coincidían. Por ejemplo, el comando, seq 10 | Env LC_ALL = zh_CN src / grep -n .. & quot; Imprimiría esto: 1: 1 2 3 4 5 6 7 8 9 10 lo que implica que el fósforo, "10 & quot; Estaba en la línea 1. [bug introducido en grep-2.19]
  • grep -F -x -o ya no imprime una nueva línea extra para cada coincidencia. [Bug introducido en grep-2.19]
  • grep en un entorno local multibyte que no sea UTF8 podría equivocarse en el centro de un carácter multibyte cuando se utiliza una alternativa anclada en un patrón, lo que lo lleva a imprimir líneas que no coinciden. [Bug presente desde & quot; el principio & quot;]
  • grep -FY ya no coincide en los entornos multibyte no UTF8 como Shift-JIS, cuando la entrada contiene un carácter de 2 bytes, XY, seguido del patrón de búsqueda de un solo byte, Y. grep encontraría la primera , El "Y" de coincidencia de medio-multi-byte y, a continuación, avanzar erróneamente un puntero interno un byte demasiado lejos, omitiendo el objetivo Y, Justo después de eso. [Bug introducido en grep-2.19]
  • grep -E rechazó inigualable ')', en lugar de tratarlo como ')'. [Bug presente desde & quot; el principio & quot;]
  • En NetBSD, grep -r ya no informa del tipo de archivo o formato inadecuado & quot; Al negarse a seguir un vínculo simbólico. [Error introducido en grep-2.12]
  • Cambios en el comportamiento:
  • La variable de entorno GREP_OPTIONS ahora está obsoleta, y ahora grep advierte si se usa. Utilice un alias o una secuencia de comandos.
  • En locales con codificación de caracteres multibyte que no sean UTF-8, grep -P ahora reporta un error y sale en lugar de comportarse mal.
  • Al buscar datos binarios, grep ahora puede tratar los bytes sin texto como terminadores de línea. Esto puede aumentar significativamente el rendimiento.
  • grep -z ya no trata automáticamente el byte ' 200' como datos binarios.

Qué es nuevo en la versión 2.28:

  • Mejoras:
  • El rendimiento se ha mejorado mucho en la búsqueda de archivos que contienen agujeros, en plataformas donde el flag SEEK_DATA de lseek funciona de manera eficiente.
  • El rendimiento ha mejorado para rechazar datos que no pueden igualar la primera parte de un patrón no trivial.
  • El rendimiento ha mejorado para cadenas muy largas en patrones.
  • Si un archivo contiene datos incorrectamente codificados para la configuración regional actual, y esto se descubre antes de que se salga cualquiera de los contenidos del archivo, ahora grep trata el archivo como binario.
  • grep -P ya no informa de un error y sale cuando se le dan datos UTF-8 no válidos. En su lugar, considera que los datos no son coincidentes.
  • Corrección de errores:
  • grep ya no mishandles patrones que contienen w o W en localidades multibyte.
  • grep no podría contar nuevas líneas internamente al operar en entornos multibyte no UTF8, lo que le llevaría a imprimir potencialmente muchas líneas que no coincidían. Por ejemplo, el comando, seq 10 | Env LC_ALL = zh_CN src / grep -n .. & quot; Imprimiría esto: 1: 1 2 3 4 5 6 7 8 9 10 lo que implica que el fósforo, "10 & quot; Estaba en la línea 1. [bug introducido en grep-2.19]
  • grep -F -x -o ya no imprime una nueva línea extra para cada coincidencia. [Bug introducido en grep-2.19]
  • grep en un entorno local multibyte que no sea UTF8 podría equivocarse en el centro de un carácter multibyte cuando se utiliza una alternativa anclada en un patrón, lo que lo lleva a imprimir líneas que no coinciden. [Bug presente desde & quot; el principio & quot;]
  • grep -FY ya no coincide en los entornos multibyte no UTF8 como Shift-JIS, cuando la entrada contiene un carácter de 2 bytes, XY, seguido del patrón de búsqueda de un solo byte, Y. grep encontraría la primera , El "Y" de coincidencia de medio-multi-byte y, a continuación, avanzar erróneamente un puntero interno un byte demasiado lejos, omitiendo el objetivo Y, Justo después de eso. [Bug introducido en grep-2.19]
  • grep -E rechazó inigualable ')', en lugar de tratarlo como ')'. [Bug presente desde & quot; el principio & quot;]
  • En NetBSD, grep -r ya no informa del tipo de archivo o formato inadecuado & quot; Al negarse a seguir un vínculo simbólico. [Error introducido en grep-2.12]
  • Cambios en el comportamiento:
  • La variable de entorno GREP_OPTIONS ahora está obsoleta, y ahora grep advierte si se usa. Utilice un alias o una secuencia de comandos.
  • En locales con codificación de caracteres multibyte que no sean UTF-8, grep -P ahora reporta un error y sale en lugar de comportarse mal.
  • Al buscar datos binarios, grep ahora puede tratar los bytes sin texto como terminadores de línea. Esto puede aumentar significativamente el rendimiento.
  • grep -z ya no trata automáticamente el byte ' 200' como datos binarios.

Novedades en la versión 2.27:

  • Mejoras:
  • El rendimiento se ha mejorado mucho en la búsqueda de archivos que contienen agujeros, en plataformas donde el flag SEEK_DATA de lseek funciona de manera eficiente.
  • El rendimiento ha mejorado para rechazar datos que no pueden igualar la primera parte de un patrón no trivial.
  • El rendimiento ha mejorado para cadenas muy largas en patrones.
  • Si un archivo contiene datos incorrectamente codificados para la configuración regional actual, y esto se descubre antes de que se salga cualquiera de los contenidos del archivo, ahora grep trata el archivo como binario.
  • grep -P ya no informa de un error y sale cuando se le dan datos UTF-8 no válidos. En su lugar, considera que los datos no son coincidentes.
  • Corrección de errores:
  • grep ya no mishandles patrones que contienen w o W en localidades multibyte.
  • grep no podría contar nuevas líneas internamente al operar en entornos multibyte no UTF8, lo que le llevaría a imprimir potencialmente muchas líneas que no coincidían. Por ejemplo, el comando, seq 10 | Env LC_ALL = zh_CN src / grep -n .. & quot; Imprimiría esto: 1: 1 2 3 4 5 6 7 8 9 10 lo que implica que el fósforo, "10 & quot; Estaba en la línea 1. [bug introducido en grep-2.19]
  • grep -F -x -o ya no imprime una nueva línea extra para cada coincidencia. [Bug introducido en grep-2.19]
  • grep en un entorno local multibyte que no sea UTF8 podría equivocarse en el centro de un carácter multibyte cuando se utiliza una alternativa anclada en un patrón, lo que lo lleva a imprimir líneas que no coinciden. [Bug presente desde & quot; el principio & quot;]
  • grep -FY ya no coincide en los entornos multibyte no UTF8 como Shift-JIS, cuando la entrada contiene un carácter de 2 bytes, XY, seguido del patrón de búsqueda de un solo byte, Y. grep encontraría la primera , El "Y" de coincidencia de medio-multi-byte y, a continuación, avanzar erróneamente un puntero interno un byte demasiado lejos, omitiendo el objetivo Y, Justo después de eso. [Bug introducido en grep-2.19]
  • grep -E rechazó inigualable ')', en lugar de tratarlo como ')'. [Bug presente desde & quot; el principio & quot;]
  • En NetBSD, grep -r ya no informa del tipo de archivo o formato inadecuado & quot; Al negarse a seguir un vínculo simbólico. [Error introducido en grep-2.12]
  • Cambios en el comportamiento:
  • La variable de entorno GREP_OPTIONS ahora está obsoleta, y ahora grep advierte si se usa. Utilice un alias o una secuencia de comandos.
  • En locales con codificación de caracteres multibyte que no sean UTF-8, grep -P ahora reporta un error y sale en lugar de comportarse mal.
  • Al buscar datos binarios, grep ahora puede tratar los bytes sin texto como terminadores de línea. Esto puede aumentar significativamente el rendimiento.
  • grep -z ya no trata automáticamente el byte ' 200' como datos binarios.

Qué es nuevo en la versión 2.26:

  • Mejoras:
  • El rendimiento se ha mejorado mucho en la búsqueda de archivos que contienen agujeros, en plataformas donde el flag SEEK_DATA de lseek funciona de manera eficiente.
  • El rendimiento ha mejorado para rechazar datos que no pueden igualar la primera parte de un patrón no trivial.
  • El rendimiento ha mejorado para cadenas muy largas en patrones.
  • Si un archivo contiene datos incorrectamente codificados para la configuración regional actual, y esto se descubre antes de que se salga cualquiera de los contenidos del archivo, ahora grep trata el archivo como binario.
  • grep -P ya no informa de un error y sale cuando se le dan datos UTF-8 no válidos. En su lugar, considera que los datos no son coincidentes.
  • Corrección de errores:
  • grep ya no mishandles patrones que contienen w o W en localidades multibyte.
  • grep no podría contar nuevas líneas internamente al operar en entornos multibyte no UTF8, lo que le llevaría a imprimir potencialmente muchas líneas que no coincidían. Por ejemplo, el comando, seq 10 | Env LC_ALL = zh_CN src / grep -n .. & quot; Imprimiría esto: 1: 1 2 3 4 5 6 7 8 9 10 lo que implica que el fósforo, "10 & quot; Estaba en la línea 1. [bug introducido en grep-2.19]
  • grep -F -x -o ya no imprime una nueva línea extra para cada coincidencia. [Bug introducido en grep-2.19]
  • grep en un entorno local multibyte que no sea UTF8 podría equivocarse en el centro de un carácter multibyte cuando se utiliza una alternativa anclada en un patrón, lo que lo lleva a imprimir líneas que no coinciden. [Bug presente desde & quot; el principio & quot;]
  • grep -FY ya no coincide en los entornos multibyte no UTF8 como Shift-JIS, cuando la entrada contiene un carácter de 2 bytes, XY, seguido del patrón de búsqueda de un solo byte, Y. grep encontraría la primera , El "Y" de coincidencia de medio-multi-byte y, a continuación, avanzar erróneamente un puntero interno un byte demasiado lejos, omitiendo el objetivo Y, Justo después de eso. [Bug introducido en grep-2.19]
  • grep -E rechazó inigualable ')', en lugar de tratarlo como ')'. [Bug presente desde & quot; el principio & quot;]
  • En NetBSD, grep -r ya no informa del tipo de archivo o formato inadecuado & quot; Al negarse a seguir un vínculo simbólico. [Error introducido en grep-2.12]
  • Cambios en el comportamiento:
  • La variable de entorno GREP_OPTIONS ahora está obsoleta, y ahora grep advierte si se usa. Utilice un alias o una secuencia de comandos.
  • En locales con codificación de caracteres multibyte que no sean UTF-8, grep -P ahora reporta un error y sale en lugar de comportarse mal.
  • Al buscar datos binarios, grep ahora puede tratar los bytes sin texto como terminadores de línea. Esto puede aumentar significativamente el rendimiento.
  • grep -z ya no trata automáticamente el byte ' 200' como datos binarios.

Novedades en la versión 2.25:

  • Mejoras:
  • El rendimiento se ha mejorado mucho en la búsqueda de archivos que contienen agujeros, en plataformas donde el flag SEEK_DATA de lseek funciona de manera eficiente.
  • El rendimiento ha mejorado para rechazar datos que no pueden igualar la primera parte de un patrón no trivial.
  • El rendimiento ha mejorado para cadenas muy largas en patrones.
  • Si un archivo contiene datos incorrectamente codificados para la configuración regional actual, y esto se descubre antes de que se salga cualquiera de los contenidos del archivo, ahora grep trata el archivo como binario.
  • grep -P ya no informa de un error y sale cuando se le dan datos UTF-8 no válidos. En su lugar, considera que los datos no son coincidentes.
  • Corrección de errores:
  • grep ya no mishandles patrones que contienen w o W en localidades multibyte.
  • grep no podría contar nuevas líneas internamente al operar en entornos multibyte no UTF8, lo que le llevaría a imprimir potencialmente muchas líneas que no coincidían. Por ejemplo, el comando, seq 10 | Env LC_ALL = zh_CN src / grep -n .. & quot; Imprimiría esto: 1: 1 2 3 4 5 6 7 8 9 10 lo que implica que el fósforo, "10 & quot; Estaba en la línea 1. [bug introducido en grep-2.19]
  • grep -F -x -o ya no imprime una nueva línea extra para cada coincidencia. [Bug introducido en grep-2.19]
  • grep en un entorno local multibyte que no sea UTF8 podría equivocarse en el centro de un carácter multibyte cuando se utiliza una alternativa anclada en un patrón, lo que lo lleva a imprimir líneas que no coinciden. [Bug presente desde & quot; el principio & quot;]
  • grep -FY ya no coincide en los entornos multibyte no UTF8 como Shift-JIS, cuando la entrada contiene un carácter de 2 bytes, XY, seguido del patrón de búsqueda de un solo byte, Y. grep encontraría la primera , El "Y" de coincidencia de medio-multi-byte y, a continuación, avanzar erróneamente un puntero interno un byte demasiado lejos, omitiendo el objetivo Y, Justo después de eso. [Bug introducido en grep-2.19]
  • grep -E rechazó inigualable ')', en lugar de tratarlo como ')'. [Bug presente desde & quot; el principio & quot;]
  • En NetBSD, grep -r ya no informa del tipo de archivo o formato inadecuado & quot; Al negarse a seguir un vínculo simbólico. [Error introducido en grep-2.12]
  • Cambios en el comportamiento:
  • La variable de entorno GREP_OPTIONS ahora está obsoleta, y ahora grep advierte si se usa. Utilice un alias o una secuencia de comandos.
  • En locales con codificación de caracteres multibyte que no sean UTF-8, grep -P ahora reporta un error y sale en lugar de comportarse mal.
  • Al buscar datos binarios, grep ahora puede tratar los bytes sin texto como terminadores de línea. Esto puede aumentar significativamente el rendimiento.
  • grep -z ya no trata automáticamente el byte ' 200' como datos binarios.

Novedades en la versión 2.24:

  • Mejoras:
  • El rendimiento se ha mejorado mucho en la búsqueda de archivos que contienen agujeros, en plataformas donde el flag SEEK_DATA de lseek funciona de manera eficiente.
  • El rendimiento ha mejorado para rechazar datos que no pueden igualar la primera parte de un patrón no trivial.
  • El rendimiento ha mejorado para cadenas muy largas en patrones.
  • Si un archivo contiene datos incorrectamente codificados para la configuración regional actual, y esto se descubre antes de que se salga cualquiera de los contenidos del archivo, ahora grep trata el archivo como binario.
  • grep -P ya no informa de un error y sale cuando se le dan datos UTF-8 no válidos. En su lugar, considera que los datos no son coincidentes.
  • Corrección de errores:
  • grep ya no mishandles patrones que contienen w o W en localidades multibyte.
  • grep no podría contar nuevas líneas internamente al operar en entornos multibyte no UTF8, lo que le llevaría a imprimir potencialmente muchas líneas que no coincidían. Por ejemplo, el comando, seq 10 | Env LC_ALL = zh_CN src / grep -n .. & quot; Imprimiría esto: 1: 1 2 3 4 5 6 7 8 9 10 lo que implica que el fósforo, "10 & quot; Estaba en la línea 1. [bug introducido en grep-2.19]
  • grep -F -x -o ya no imprime una nueva línea extra para cada coincidencia. [Bug introducido en grep-2.19]
  • grep en un entorno local multibyte que no sea UTF8 podría equivocarse en el centro de un carácter multibyte cuando se utiliza una alternativa anclada en un patrón, lo que lo lleva a imprimir líneas que no coinciden. [Bug presente desde & quot; el principio & quot;]
  • grep -FY ya no coincide en los entornos multibyte no UTF8 como Shift-JIS, cuando la entrada contiene un carácter de 2 bytes, XY, seguido del patrón de búsqueda de un solo byte, Y. grep encontraría la primera , El "Y" de coincidencia de medio-multi-byte y, a continuación, avanzar erróneamente un puntero interno un byte demasiado lejos, omitiendo el objetivo Y, Justo después de eso. [Bug introducido en grep-2.19]
  • grep -E rechazó inigualable ')', en lugar de tratarlo como ')'. [Bug presente desde & quot; el principio & quot;]
  • En NetBSD, grep -r ya no informa del tipo de archivo o formato inadecuado & quot; Al negarse a seguir un vínculo simbólico. [Error introducido en grep-2.12]
  • Cambios en el comportamiento:
  • La variable de entorno GREP_OPTIONS ahora está obsoleta, y ahora grep advierte si se usa. Utilice un alias o una secuencia de comandos.
  • En locales con codificación de caracteres multibyte que no sean UTF-8, grep -P ahora reporta un error y sale en lugar de comportarse mal.
  • Al buscar datos binarios, grep ahora puede tratar los bytes sin texto como terminadores de línea. Esto puede aumentar significativamente el rendimiento.
  • grep -z ya no trata automáticamente el byte ' 200' como datos binarios.

Qué es nuevo en la versión 2.23:

  • Mejoras:
  • El rendimiento se ha mejorado mucho en la búsqueda de archivos que contienen agujeros, en plataformas donde el flag SEEK_DATA de lseek funciona de manera eficiente.
  • El rendimiento ha mejorado para rechazar datos que no pueden igualar la primera parte de un patrón no trivial.
  • El rendimiento ha mejorado para cadenas muy largas en patrones.
  • Si un archivo contiene datos incorrectamente codificados para la configuración regional actual, y esto se descubre antes de que se salga cualquiera de los contenidos del archivo, ahora grep trata el archivo como binario.
  • grep -P ya no informa de un error y sale cuando se le dan datos UTF-8 no válidos. En su lugar, considera que los datos no son coincidentes.
  • Corrección de errores:
  • grep ya no mishandles patrones que contienen w o W en localidades multibyte.
  • grep no podría contar nuevas líneas internamente al operar en entornos multibyte no UTF8, lo que le llevaría a imprimir potencialmente muchas líneas que no coincidían. Por ejemplo, el comando, seq 10 | Env LC_ALL = zh_CN src / grep -n .. & quot; Imprimiría esto: 1: 1 2 3 4 5 6 7 8 9 10 lo que implica que el fósforo, "10 & quot; Estaba en la línea 1. [bug introducido en grep-2.19]
  • grep -F -x -o ya no imprime una nueva línea extra para cada coincidencia. [Bug introducido en grep-2.19]
  • grep en un entorno local multibyte que no sea UTF8 podría equivocarse en el centro de un carácter multibyte cuando se utiliza una alternativa anclada en un patrón, lo que lo lleva a imprimir líneas que no coinciden. [Bug presente desde & quot; el principio & quot;]
  • grep -FY ya no coincide en los entornos multibyte no UTF8 como Shift-JIS, cuando la entrada contiene un carácter de 2 bytes, XY, seguido del patrón de búsqueda de un solo byte, Y. grep encontraría la primera , El "Y" de coincidencia de medio-multi-byte y, a continuación, avanzar erróneamente un puntero interno un byte demasiado lejos, omitiendo el objetivo Y, Justo después de eso. [Bug introducido en grep-2.19]
  • grep -E rechazó inigualable ')', en lugar de tratarlo como ')'. [Bug presente desde & quot; el principio & quot;]
  • En NetBSD, grep -r ya no informa del tipo de archivo o formato inadecuado & quot; Al negarse a seguir un vínculo simbólico. [Error introducido en grep-2.12]
  • Cambios en el comportamiento:
  • La variable de entorno GREP_OPTIONS ahora está obsoleta, y ahora grep advierte si se usa. Utilice un alias o una secuencia de comandos.
  • En locales con codificación de caracteres multibyte que no sean UTF-8, grep -P ahora reporta un error y sale en lugar de comportarse mal.
  • Al buscar datos binarios, grep ahora puede tratar los bytes sin texto como terminadores de línea. Esto puede aumentar significativamente el rendimiento.
  • grep -z ya no trata automáticamente el byte ' 200' como datos binarios.

Novedades en la versión 2.22:

  • Mejoras:
  • El rendimiento se ha mejorado mucho en la búsqueda de archivos que contienen agujeros, en plataformas donde el flag SEEK_DATA de lseek funciona de manera eficiente.
  • El rendimiento ha mejorado para rechazar datos que no pueden igualar la primera parte de un patrón no trivial.
  • El rendimiento ha mejorado para cadenas muy largas en patrones.
  • Si un archivo contiene datos incorrectamente codificados para la configuración regional actual, y esto se descubre antes de que se salga cualquiera de los contenidos del archivo, ahora grep trata el archivo como binario.
  • grep -P ya no informa de un error y sale cuando se le dan datos UTF-8 no válidos. En su lugar, considera que los datos no son coincidentes.
  • Corrección de errores:
  • grep ya no mishandles patrones que contienen w o W en localidades multibyte.
  • grep no podría contar nuevas líneas internamente al operar en entornos multibyte no UTF8, lo que le llevaría a imprimir potencialmente muchas líneas que no coincidían. Por ejemplo, el comando, seq 10 | Env LC_ALL = zh_CN src / grep -n .. & quot; Imprimiría esto: 1: 1 2 3 4 5 6 7 8 9 10 lo que implica que el fósforo, "10 & quot; Estaba en la línea 1. [bug introducido en grep-2.19]
  • grep -F -x -o ya no imprime una nueva línea extra para cada coincidencia. [Bug introducido en grep-2.19]
  • grep en un entorno local multibyte que no sea UTF8 podría equivocarse en el centro de un carácter multibyte cuando se utiliza una alternativa anclada en un patrón, lo que lo lleva a imprimir líneas que no coinciden. [Bug presente desde & quot; el principio & quot;]
  • grep -FY ya no coincide en los entornos multibyte no UTF8 como Shift-JIS, cuando la entrada contiene un carácter de 2 bytes, XY, seguido del patrón de búsqueda de un solo byte, Y. grep encontraría la primera , El "Y" de coincidencia de medio-multi-byte y, a continuación, avanzar erróneamente un puntero interno un byte demasiado lejos, omitiendo el objetivo Y, Justo después de eso. [Bug introducido en grep-2.19]
  • grep -E rechazó inigualable ')', en lugar de tratarlo como ')'. [Bug presente desde & quot; el principio & quot;]
  • En NetBSD, grep -r ya no informa del tipo de archivo o formato inadecuado & quot; Al negarse a seguir un vínculo simbólico. [Error introducido en grep-2.12]
  • Cambios en el comportamiento:
  • La variable de entorno GREP_OPTIONS ahora está obsoleta, y ahora grep advierte si se usa. Utilice un alias o una secuencia de comandos.
  • En locales con codificación de caracteres multibyte que no sean UTF-8, grep -P ahora reporta un error y sale en lugar de comportarse mal.
  • Al buscar datos binarios, grep ahora puede tratar los bytes sin texto como terminadores de línea. Esto puede aumentar significativamente el rendimiento.
  • grep -z ya no trata automáticamente el byte ' 200' como datos binarios.

Novedades en la versión 2.21:

  • Mejoras:
  • El rendimiento se ha mejorado mucho en la búsqueda de archivos que contienen agujeros, en plataformas donde el flag SEEK_DATA de lseek funciona de manera eficiente.
  • El rendimiento ha mejorado para rechazar datos que no pueden igualar la primera parte de un patrón no trivial.
  • El rendimiento ha mejorado para cadenas muy largas en patrones.
  • Si un archivo contiene datos incorrectamente codificados para la configuración regional actual, y esto se descubre antes de que se salga cualquiera de los contenidos del archivo, ahora grep trata el archivo como binario.
  • grep -P ya no informa de un error y sale cuando se le dan datos UTF-8 no válidos. En su lugar, considera que los datos no son coincidentes.
  • Corrección de errores:
  • grep ya no mishandles patrones que contienen w o W en localidades multibyte.
  • grep no podría contar nuevas líneas internamente al operar en entornos multibyte no UTF8, lo que le llevaría a imprimir potencialmente muchas líneas que no coincidían. Por ejemplo, el comando, seq 10 | Env LC_ALL = zh_CN src / grep -n .. & quot; Imprimiría esto: 1: 1 2 3 4 5 6 7 8 9 10 lo que implica que el fósforo, "10 & quot; Estaba en la línea 1. [bug introducido en grep-2.19]
  • grep -F -x -o ya no imprime una nueva línea extra para cada coincidencia. [Bug introducido en grep-2.19]
  • grep en un entorno local multibyte que no sea UTF8 podría equivocarse en el centro de un carácter multibyte cuando se utiliza una alternativa anclada en un patrón, lo que lo lleva a imprimir líneas que no coinciden. [Bug presente desde & quot; el principio & quot;]
  • grep -FY ya no coincide en los entornos multibyte no UTF8 como Shift-JIS, cuando la entrada contiene un carácter de 2 bytes, XY, seguido del patrón de búsqueda de un solo byte, Y. grep encontraría la primera , El "Y" de coincidencia de medio-multi-byte y, a continuación, avanzar erróneamente un puntero interno un byte demasiado lejos, omitiendo el objetivo Y, Justo después de eso. [Bug introducido en grep-2.19]
  • grep -E rechazó inigualable ')', en lugar de tratarlo como ')'. [Bug presente desde & quot; el principio & quot;]
  • En NetBSD, grep -r ya no informa del tipo de archivo o formato inadecuado & quot; Al negarse a seguir un vínculo simbólico. [Error introducido en grep-2.12]
  • Cambios en el comportamiento:
  • La variable de entorno GREP_OPTIONS ahora está obsoleta, y ahora grep advierte si se usa. Utilice un alias o una secuencia de comandos.
  • En locales con codificación de caracteres multibyte que no sean UTF-8, grep -P ahora reporta un error y sale en lugar de comportarse mal.
  • Al buscar datos binarios, grep ahora puede tratar los bytes sin texto como terminadores de línea. Esto puede aumentar significativamente el rendimiento.
  • grep -z ya no trata automáticamente el byte ' 200' como datos binarios.

Qué es nuevo en la versión 2.20:

  • grep --max-count = N FILE ya no dejará de leer después del Nth match. Es decir, mientras que grep seguiría imprimiendo la salida correcta, seguiría leyendo hasta el final de la entrada, y por lo tanto, potencialmente para siempre. [Bug introducido en grep-2.19]
  • Un comando como echo aa | grep -E 'a (b $ | c $)' reportaría erróneamente la entrada como una línea coincidente. [Bug introducido en grep-2.19]
  • Cambios en el comportamiento:
  • grep --exclude-dir = 'FOO /' ahora excluye el directorio FOO. Anteriormente, la barra inclinada significaba que la opción era ineficaz.
  • Comentarios a la Grep

    Comentarios que no se encuentran
    Añadir comentario
    A su vez en las imágenes!