Cómo encontrar una palabra específica en un archivo en Linux

De forma predeterminada, la mayoría de las herramientas de búsqueda miran los nombres de los archivos, no su contenido. Sin embargo, el programa de búsqueda GNU más famoso, grep, buscará dentro de los archivos con las banderas correctas. Aquí le mostraremos cómo puede encontrar palabras específicas en un archivo en Linux.

Usar grep para encontrar una palabra específica en un archivo

Buscar texto en archivo Linux Grep

De forma predeterminada, grep busca en el contenido de los archivos, así como en sus nombres de archivo. Está incluido en la mayoría de los sistemas Linux y generalmente es idéntico en todas las distribuciones. Dicho esto, las cajas Linux más pequeñas o menos potentes pueden preferir ejecutar un comando diferente, como ack.

Dependiendo de cómo esté codificado el archivo, es posible que grep no siempre pueda mirar dentro. Pero para la mayoría de los formatos basados ​​en texto, grep puede escanear el texto del archivo para el patrón especificado.

los -R flag establece grep en modo recursivo, navegando por todos los directorios contenidos dentro del directorio especificado. los -w bandera busca coincidencias de palabras completas. Esto significa que ‘rojo’ coincidirá solo con ‘rojo’ rodeado por caracteres de espacio en blanco y no ‘redundante’ o ‘cansado’. los -e bandera precede el patrón a buscar. Admite expresiones regulares de forma predeterminada.

Para acelerar grep, puede utilizar el --exclude y --include banderas para limitar la búsqueda a ciertos tipos de archivos. Por ejemplo, --exclude=*.csv no buscará en ningún archivo con la extensión .csv. --include=*.txt, por otro lado, solo buscará dentro de archivos con la extensión .txt. La bandera se puede agregar inmediatamente después del comando grep, como se muestra a continuación:

También puede excluir directorios específicos siguiendo el formato a continuación:

Este comando no buscará en ningún directorio en el directorio de trabajo actual llamado dir1, dir2, o que coincida con el patrón * _old, eliminándolos del proceso de búsqueda. Ejecutará la búsqueda de coincidencia de palabra completa recursiva especificada en todos los demás archivos del directorio de trabajo actual.

Usar buscar para buscar una palabra específica en un archivo

Buscar texto en archivo Linux Buscar Grep

Mientras que la find La sintaxis del comando es más complicada que grep, algunos la prefieren.

Este comando usará find’s -exec marca para pasar los archivos encontrados a grep para su búsqueda. Con una disposición inteligente de la sintaxis, puede usar la búsqueda más rápida del sistema de archivos de find para ubicar los tipos de archivos específicos en los que desea buscar y luego canalizarlos a grep para buscar dentro de los archivos.

Tenga en cuenta que buscar solo mira los nombres de archivo, no el contenido. Es por eso que se requiere grep para buscar texto y contenido de archivos. Los indicadores grep normales deben estar completamente operativos desde dentro del -exec bandera.

Uso de ack para encontrar una palabra específica en un archivo

El comando ack es probablemente la herramienta de búsqueda más rápida, pero no es tan popular como las opciones anteriores. El siguiente comando buscará dentro del directorio actual.

Si desea buscar dentro de un archivo o directorio específico, puede agregar ese archivo o una ruta de acceso completa a su búsqueda.

Conclusión

Para la mayoría de las personas, en la mayoría de las situaciones, grep es la mejor herramienta de búsqueda ampliamente disponible. También puede consultar otras herramientas de búsqueda, como RipGrep, para opciones de búsqueda más rápidas

¿Es útil este artículo?

¡Compártelo en redes!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *