Cómo encontrar texto en archivos en Linux

Cómo encontrar texto en archivos en Linux

Para un administrador del sistema, trabajar con archivos de texto es un fenómeno común. Tal vez necesite encontrar una sección específica de pilas de archivos de registro para solucionar algo? O necesita encontrar el documento que contenga información esencial rápidamente?

En el caso de Linux, existen numerosos métodos para encontrar textos en archivos. Es posible usar herramientas incorporadas y aplicaciones de terceros. Mira cómo encontrar textos en archivos en Linux.

Encontrar texto en archivos

Dependiendo de la cantidad de archivos en los que tenga que realizar una búsqueda, hay dos formas de realizar la búsqueda de texto: automatizado o manual. Si tiene que trabajar con un par de archivos de texto, la búsqueda manual es más adecuada. Sin embargo, si hay cientos de archivos de texto, entonces la búsqueda automatizada es la más eficiente.

Para la búsqueda automatizada, usaremos GREP. GREP viene preinstalado en cualquier distribución de Linux. En cuanto a la búsqueda manual, cualquier editor de texto moderno hará el trabajo.

Encuentra texto en archivos usando GREP

En Linux, Grep es la herramienta predeterminada para buscar textos. Su nombre se deriva del comando ED G/RE/P que representa "Buscar globalmente una expresión regular e imprimir líneas de coincidencia."Está disponible en cualquier distribución moderna de Linux.

GREP es una herramienta de línea de comandos. Su estructura de comando es la siguiente.

$ Grep

Como sugiere el nombre de GREP, el patrón para buscar se describe utilizando una expresión regular. La expresión regular es un tipo especial de cadena que describe un patrón para que coincida, localizar y administrar. Para obtener más información sobre GREP y la expresión regular, consulte usando GREP y EGREP con expresión regular.

Para fines de demostración, tome un archivo de texto de muestra. En este ejemplo, descargue el GNU General Public License V3.0 archivo de texto.

Búsqueda básica

La forma fundamental de usar GREP es buscar una cadena básica.

Echa un vistazo al siguiente comando GREP. Buscará la palabra "GNU" en el archivo de texto.

$ Grep "GNU" GPL-3.0.TXT

Para mostrar el número de línea, use la bandera "-n".

$ GREP -N "GNU" GPL -3.0.TXT

Para realizar una búsqueda insensible a la caja usando GREP, use el indicador "-i".

$ Grep -ni "GNU" GPL -3.0.TXT

Es posible que no desee ver las coincidencias de búsqueda, pero solo el nombre del archivo donde ocurrió el partido en algunas situaciones. Para imprimir solo el nombre de archivo, use el indicador "-l". Aquí, el asterisco denota para usar todos los archivos de texto en el directorio actual.

$ GREP -L "GNU" *

También podemos abordar la salida de otros comandos a GREP.

$ Cat GPL-3.0.txt | GREP -N "GNU"

Expresión regular

Regex ofrece una forma inteligente de ajustar la búsqueda. Tiene sus propias reglas. Sin embargo, diferentes aplicaciones y lenguajes de programación implementan una expresión regular de manera diferente. Aquí hay un par de ejemplos que puedes usar con Grep Grep.

Para definir que la cadena se encuentra al iniciar una línea, use el símbolo de Caret (^).

$ Grep -n "^Gnu" GPL -3.0.TXT

Para definir que la cadena se encuentra al final de una línea, use el signo de dólar ($).

$ grep -n "a $" GPL -3.0.TXT

Para describir que puede haber cualquier carácter en una determinada ubicación del patrón, use el carácter de período (.). Por ejemplo, la expresión "G.U "es válido si hay algún carácter entre" G "y" U ".

$ Grep -n "G.U "GPL-3.0.TXT

Para describir que puede haber un subconjunto de caracteres en una ubicación particular del patrón, use los soportes ([]). Por ejemplo, la expresión "t [wo] o" dice que la coincidencia es válida para "dos" y "también" solo ".

$ grep -n "t [wo] o" GPL -3.0.TXT

Expresión regular extendida

Como su nombre indica, una expresión regular extendida puede hacer cosas más complejas que las expresiones regulares básicas. Para usar la expresión regular extendida con GREP, debe usar la bandera "-e".

$ Grep -ne

Para buscar dos cadenas diferentes, use los operadores (|).

$ Grep -ne "GNU | General | Licencia" GPL -3.0.TXT

Encontrar texto en archivos

Ahora viene la parte principal. En lugar de decirle manualmente a GREP el archivo para realizar la búsqueda, Grep puede hacerlo automáticamente. En el siguiente comando, GREP usará todos los archivos de texto disponibles en el directorio actual para buscar el patrón.

$ Grep *

Si desea GREP para realizar la búsqueda en un directorio diferente, entonces debe especificar la ubicación.

$ Grep

Si hay carpetas, GREP no las explora de forma predeterminada. Para decirle a GREP que busque recursivamente, use la bandera "-r".

$ Grep -nr

Grep GUI

Si prefiere trabajar con GUI pero aún desea disfrutar de las funciones de Grep, consulte SearchMonkey. Es una solución front-end para GREP. El paquete está disponible en casi todas las principales distribuciones de Linux.

Encontrar texto en archivos usando nano

GNU Nano es un editor de texto simple y poderoso que viene con cualquier distribución de Linux. Tiene características incorporadas para buscar texto en un archivo de texto.

Tenga en cuenta que en este método, debe abrir el archivo de texto y buscar manualmente. Es factible si solo hay un puñado de archivos de texto para funcionar con. Si hay más, entonces usar GREP es la opción más óptima.

Abra el archivo de texto en nano.

$ nano

Para buscar una coincidencia de cadenas, presione "Ctrl + W". Después de escribir la cadena para buscar, presione "ENTER".

Buscar texto en archivos usando VIM

Vim es un editor de texto conocido y reputado. Es el equivalente de línea de comandos de un editor de texto moderno. VIM viene con numerosas características avanzadas como complementos, macros, autocompletación, filtros, etc.

Similar a Nano, VIM funciona con un solo archivo a la vez. Si tiene varios archivos de texto, entonces usar GREP es la forma más óptima de hacerlo.

Para buscar en un archivo de texto, primero, ábralo en VIM.

$ vim

Ingrese el siguiente comando VIM y presione "Enter".

ps

Encuentre texto en archivos usando el editor de texto GNOME

El editor de texto de Gnome es el editor de texto que viene con el escritorio de Gnome. Es un editor de texto simplista con todas las características básicas que esperaría. Es una buena alternativa a los editores de texto de línea de comandos.

Similar a nano y vim, la misma precaución se aplica a este método. Si el número de archivos de texto es grande, entonces es mejor que se quede con Grep.

Abra el archivo de texto en el editor de texto. Presione "Ctrl + F" para mencionar la barra de búsqueda.

Buscar texto en archivos usando el código VS

Visual Studio Code es un poderoso editor de texto con toneladas de características. Está optimizado para que los programadores se usen como si fuera un IDE completo. Está disponible en casi todas las principales distribuciones de Linux.

Instale el paquete Snap de Código Visual Studio.

$ sudo Snap Instalar Código -Classic

Abra el archivo de texto en el código VS. Presione "Ctrl + F" para comenzar a buscar.

Pensamientos finales

Hay numerosas formas de buscar texto en archivos. Es una tarea fácil de dominar. Se recomienda encarecidamente dominar el comando GREP porque ofrece el mayor valor en términos de eficiencia y facilidad de uso.

Si prefiere la GUI, entonces hay numerosos editores de texto para elegir. Cualquier editor de texto moderno proporcionará la opción de búsqueda de texto.

Computación feliz!