Cómo correr Grep en Python

Cómo correr Grep en Python

¿Alguna vez ha considerado buscar una cadena en los archivos de una carpeta?? Probablemente esté familiarizado con el comando GREP si es un usuario de Linux. Puede crear su comando usando la programación de Python para buscar un patrón de cadena en los archivos especificados. La aplicación también le permite buscar patrones que utilizan expresiones regulares.

Usando Python en Windows, simplemente puede buscar cadenas de texto desde archivos en una carpeta específica. El comando GREP está disponible en Linux; Sin embargo, no está presente en Windows. La única otra opción es escribir un comando para encontrar la cadena.

Este artículo le enseñará cómo usar la herramienta GREP y luego usar expresiones regulares para realizar búsquedas más avanzadas. También hay algunos ejemplos de python grep para ayudarlo a aprender a usarlo.

Que es Grep?

Uno de los comandos más beneficiosos es el comando GREP. GREP es una herramienta de línea de comandos útil que nos permite usar expresiones regulares para buscar archivos de texto sin formato en busca de líneas especificadas. En Python, las expresiones regulares (RE) se usan comúnmente para determinar si una cadena coincide con un patrón específico. Las expresiones regulares son totalmente compatibles con el paquete RE de Python. El módulo RE lanza el RE.Excepción de error Cuando se produce un error mientras se usa expresiones regulares.

El término de GREP significa que puede usar GREP para ver si los datos que obtienen coinciden con un patrón que especifica. Este programa aparentemente inocuo es muy poderoso; Su capacidad para ordenar la entrada de acuerdo con reglas sofisticadas es un componente común en muchas cadenas de comando.

Las utilidades GREP son un grupo de programas de búsqueda de archivos que comprenden GREP, EGREP y FGREP. Debido a su rapidez y capacidad para simplemente mirar las cuerdas y las palabras, FGREP es suficiente para la mayoría de los casos de uso. Por otro lado, escribir GREP es simple y puede ser utilizado por cualquier persona.

Ejemplo 1:

Cuando usa GREP en Python para buscar un archivo, buscará una expresión regular a nivel mundial y generará la línea si encuentra uno. Para Python Grep, siga las pautas a continuación.

El primer paso es usar la función Open () en Python. Como dice el nombre, la función Open () se usa con el fin de abrir un archivo. Luego, usando el archivo, escriba el contenido dentro del archivo, y para esto, Write () es una función que se usa para escribir texto. Después de eso, puede guardar el archivo con el nombre que desee.

Ahora, crea un patrón. Digamos que deseamos buscar en un archivo para el término "café."Necesitamos examinar esa palabra clave, por lo que usaremos la función Open () para abrir el archivo.

Para comparar una cadena junto con una expresión regular, puede usar la RE.buscando función. Usando un patrón de expresión regular y una cadena, el RE.El método de búsqueda () busca un patrón de expresión regular dentro de una cadena. El método de búsqueda () devolverá un objeto de coincidencia si la búsqueda es exitosa.

Importar el módulo RE en la parte superior del código para lidiar con expresiones regulares en R. Imprimiremos toda la línea si detecta una coincidencia usando una expresión regular. Por ejemplo, estamos buscando la palabra "café", y si se encuentra, la imprimirá. Todo el código se puede encontrar a continuación.

importar
file_one = open ("new_file.txt "," w ")
File_one.escribir ("Coffee \ nlease")
File_one.cerca()
Patrn = "Café"
file_one = open ("new_file.txt "," r ")
Para Word en file_one:
Si.búsqueda (Patrn, palabra):
Imprimir (palabra)

Aquí puede ver que la palabra "café" se imprime en la salida.

Ejemplo 2:

Llame a abrir (ubicación del archivo, modo) utilizando la ubicación y el modo del archivo como "r" para abrir un archivo para leer en el siguiente código. Primero importamos el módulo RE y luego abrimos el archivo dando el nombre y el modo del archivo.

Estamos utilizando un bucle for-loop, atraviese las líneas en el archivo. Use la instrucción if si re.búsqueda (patrón, línea) para buscar una expresión o cadena regular, siendo el patrón la expresión o cadena regular para buscar y la línea es la línea actual en el archivo.

importar
file_one = abre ("demo.txt "," w ")
File_one.Escribir ("Primera línea de texto \ nsecond Line of Text \ nthird Line of Text")
File_one.cerca()
Patrn = "Segundo"
file_one = abre ("demo.txt "," r ")
para línea en file_one:
Si.Buscar (Patrn, Line):
Imprimir (línea)

Aquí, la línea completa se imprime donde se encuentra el patrón.

Ejemplo 3:

Las expresiones regulares se pueden manejar con el paquete RE de Python. Intentaremos ejecutar GREP en Python y examinaremos un archivo para un patrón definido en el código que se proporciona a continuación. Usamos el modo de lectura para abrir el archivo apropiado y recorrerlo en línea por línea. Entonces usamos el RE.Search () Método para encontrar el patrón requerido en cada línea. La línea se imprime si se detecta el patrón.

importar
con abierto ("Demo.txt "," r ") como file_one:
Patrn = "Segundo"
para línea en file_one:
Si.Buscar (Patrn, Line):
Imprimir (línea)

Aquí está la salida, que muestra claramente que el patrón se encuentra en el archivo.

Ejemplo 4:

Hay otra forma brillante de hacer esto con Python a través de la línea de comando. Este método emplea la línea de comando para especificar la expresión regular y el archivo que se buscará, y no olvide el terminal para ejecutar el archivo. Esto nos permite reproducir con precisión Grep en Python. Esto se hace con el código a continuación.

importar
Sys de importación
con abierto (sys.argv [2], "r") como file_one:
para línea en file_one:
Si.Buscar (sys.argv [1], línea):
Imprimir (línea)

La función Argv () del módulo SYS genera una secuencia que contiene todos los argumentos suministrados a la línea de comandos. Podemos guardarlo por el nombre de Grep.py y ejecutar un guión de pitón específico desde el shell con los argumentos posteriores.

Conclusión:

Para buscar un archivo que emplee GREP en Python, importe el paquete "RE", cargue el archivo y use un bucle for para iterar sobre cada línea. En cada iteración, use el RE.Search () Método y la expresión de Regex como el argumento principal y la línea de datos como la segunda. Hemos repasado el tema en detalle con varios ejemplos en este artículo.