En este artículo, le mostramos que ejecute una búsqueda de cadenas anticipadas usando GREP con expresión regular dándole 10 ejemplos prácticos sobre sus implementaciones. Muchos ejemplos discutidos en este artículo tienen implicaciones prácticas, lo que significa que puede usarlos en su programación diaria de Linux. Las siguientes muestras describen algunos ejemplos de regexp para patrones comúnmente buscados.
Ej. 1: Encuentre un solo fletador en un archivo de texto
Para emitir líneas en el archivo 'libro' que contiene un carácter '$', escriba:
Libro de $ Grep '\ $'
Ej 2: Encuentre una sola cadena en un archivo de texto
Para emitir líneas en el archivo 'libro' que contiene la cadena '$ 14.99 ', tipo:
$ Grep '\ $ 14 \.Libro de 99 '
Ej 3: Encuentre un pañuelo especial en un archivo de texto
Para emitir líneas en el archivo 'libro' que contiene un carácter '\', escriba:
$ Grep '\\' libro
Ex 4: Líneas coincidentes que comienzan con cierto texto
Use 'ˆ' en un regexp para denotar el comienzo de una línea.
Para emitir todas las líneas en '/usr/dict/palabras' comenzando con 'pro', escriba:
$ grep 'ˆpro'/usr/dict/palabras
Para producir todas las líneas en el archivo 'libro' que comience con el texto 'al principio', independientemente del caso, tipo:
$ grep -i 'ˆin el libro'
NOTA: Estas regexps fueron citadas con 'caracteres; Esto se debe a que algunas conchas tratan al personaje 'ˆ' como un "metacharacter" especial
Además de las búsquedas de palabras y frases, puede usar GREP para buscar patrones de texto complejos llamados expresiones regulares. Una expresión regular o "regexp" -es una cadena de texto de caracteres especiales que especifica un colocar de patrones para que coincidan.
Técnicamente hablando, los patrones de palabras o frases son expresiones regulares, solo muy simples. En una expresión regular, la mayoría de los personajes incluyen letras y números representados en sí mismos. Por ejemplo, el patrón regexp 1 coincide con la cadena '1' y el patrón chico coincide con la cadena 'chico'.
Hay varios caracteres reservados llamados metacharacteres que no se representan en una expresión regular, pero tienen un significado especial que se usa para construir patrones complejos. Estos metacharacteres son los siguientes: ., *, [, ], ˆ, $ y \. Es bueno tener en cuenta que tales metacharacteres son comunes entre casi todas las distribuciones de Linux comunes y especiales. Aquí hay un buen artículo que cubre significados especiales de los metacharacteres y da ejemplos de su uso.
Ex 5: líneas coincidentes que terminan con cierto texto
Use '$' como el último carácter del texto citado para que coincida solo con ese texto al final de una línea. Para emitir líneas en el archivo 'ir' terminando con un punto de exclamación, escriba:
$ Grep '!$ 'Going
Ex 6: líneas coincidentes de cierta longitud
Para que coincidan con las líneas de una longitud particular, use ese número de '.'personajes entre' ˆ 'y' $ '- por ejemplo, para que coincidan con todas las líneas que son dos caracteres (o columnas) de ancho, use' ˆ ... $ 'como el Regexp para buscar.
Para emitir todas las líneas en '/usr/dict/palabras' que son exactamente tres caracteres de ancho, escriba:
$ Grep 'ˆ ... $'/usr/dict/palabras
Para líneas más largas, es más útil usar una construcción diferente: 'ˆ.\ número \ $ ', donde el número es el número de líneas a coincidir. Usar ',' para especificar un rango de números.
Para emitir todas las líneas en '/usr/dict/palabras' que tienen exactamente doce caracteres de ancho, escriba:
$ Grep 'ˆ.\ 12 \ $ '/usr/dict/palabras
Para emitir todas las líneas en '/usr/dict/palabras' que tienen veintidós o más caracteres de ancho, tipo:
$ Grep 'ˆ.\ 22, \ $ '/usr/dict/palabras
Ej 7: líneas coincidentes que contienen cualquiera de algunos reglas
Para que coincidan con las líneas que contienen cualquiera de una serie de regexps, especifique cada uno de los reglas para buscar entre operadores de alternancia ('\ |') como el regexp para buscar. Se emitirán líneas que contengan cualquiera de las reglas dadas.
Para generar todas las líneas en 'Playboy' que contiene los patrones 'el libro' o 'pastel', escriba:
$ Grep 'The Book \ | Cake' Playboy
Ex 8: líneas coincidentes que contienen todas las reglas
A las líneas de salida que coinciden todo De una serie de regexP, use líneas de GREP para salir que contengan el primer regexp que desea coincidir y vaya la salida a un GREP con el segundo regexp como argumento. Continúe agregando tuberías a GREP Búsquedas de todas las reglas que desea buscar.
Para generar todas las líneas en 'Lista de reproducción' que contiene ambos patrones 'la costa' y 'cielo', independientemente del caso, tipo:
$ GREP -I Lista de reproducción 'The Shore' | Grep -i cielo
Ex 9: líneas coincidentes que solo contienen ciertos caracteres
Para coincidir con líneas que solo contienen ciertos caracteres, use el regexp 'ˆ [caracteres]*$', donde los caracteres son los que coinciden. Para emitir líneas en '/usr/dict/palabras' que solo contienen vocales, escriba:
$ grep -i 'ˆ [aeiou]*$'/usr/dict/palabras
La opción '-i' coincide con los caracteres independientemente del caso; Entonces, en este ejemplo, todos los caracteres vocales coinciden independientemente del caso.
Ex 10: Encontrar frases independientemente del espacio
Una forma de buscar una frase que pueda ocurrir con espacios adicionales entre las palabras, o a través de una línea de línea o ruptura de la página, es eliminar todas las hojas de línea y espacios adicionales de la entrada, y luego Grep que. Para hacer esto, canse la entrada a TR con "\ r \ n: \> \ |-" como argumento a la opción '-d' (eliminar todas las rupturas de línea de la entrada); Vaya a eso al filtro FMT con la opción '-u' (emitir el texto con espaciado uniforme); y tuve eso para GREP con el patrón para buscar.
Para buscar los descansos de línea para la cadena 'al mismo tiempo que' en el archivo 'documentos', escriba:
$ Cat Docs | tr -d '\ r \ n: \> \ |
-'| fmt -u | Grep 'al mismo tiempo que'
En este artículo, revisamos 10 ejemplos prácticos de uso del comando GREP Linux para buscar y encontrar cadenas en un archivo de texto. En el camino, aprendimos a usar expresiones regulares junto con GREP para realizar búsquedas complejas en archivos de texto. Por ahora tienes una mejor idea sobre cuán poderosas son las funciones de búsqueda de Linux.
Aquí hay recursos adicionales para aquellos interesados en aprender más sobre la programación de Linux:
Revisión integral de cómo funciona el archivo y el sistema de directorio de Linux