Como sugiere el nombre de grep, el patrón a buscar se describe usando una expresión regular. La expresión regular es un tipo especial de cadena que describe un patrón para hacer coincidir, ubicar y administrar. Para obtener más información sobre grep y la expresión regular, consulte el uso de grep y egrep con expresión regular.
Para fines de demostración, tome un archivo de texto de muestra. En este ejemplo, descargue la licencia pública general GNU v3.0 archivo de texto.
Búsqueda básica
La forma fundamental de usar grep es buscar una cadena básica.
Eche 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 marca "-n".
$ grep -n “GNU” gpl-3.0.TXT
Para realizar una búsqueda que no distingue entre mayúsculas y minúsculas mediante grep, utilice la marca "-i".
$ grep -ni "gnu" gpl-3.0.TXT
Es posible que no desee ver las coincidencias de búsqueda, sino solo el nombre del archivo donde ocurrió la coincidencia en algunas situaciones. Para imprimir solo el nombre del archivo, use la marca "-l". Aquí, el asterisco indica que se deben usar todos los archivos de texto en el directorio actual.
$ grep -l "gnu" *
También podemos canalizar 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 expresiones regulares de manera diferente. Aquí hay un par de ejemplos que puede usar con grep.
Para definir que la cadena se encuentra al comienzo de una línea, use el símbolo de intercalación (^).
$ 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, utilice el carácter de punto (.). 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 corchetes ([]). Por ejemplo, la expresión "t [wo] o" indica que la coincidencia es válida solo para "dos" y "demasiado".
$ grep -n "t [wo] o" gpl-3.0.TXT
Expresión regular extendida
Como sugiere el nombre, una expresión regular extendida puede hacer cosas más complejas que las expresiones regulares básicas. Para usar expresiones regulares extendidas con grep, debe usar el indicador "-E".
$ grep -nE Para buscar dos cadenas diferentes, use los operadores OR (|).
$ 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, debe especificar la ubicación.
$ grep
Si hay carpetas, grep no las explora de forma predeterminada. Para decirle a grep que busque de forma recursiva, use la marca "-R".
$ grep -nR
GUI de Grep
Si prefiere trabajar con GUI pero aún desea disfrutar de las funciones de grep, consulte searchmonkey. Es una solución de front-end para grep. El paquete está disponible en casi todas las principales distribuciones de Linux.
Encuentra texto en archivos usando nano
GNU Nano es un editor de texto simple y poderoso que viene con cualquier distribución de Linux. Tiene funciones integradas 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 con los que trabajar. 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 cadena, presione "Ctrl + W". Después de escribir la cadena para buscar, presione "Enter".
Encuentra texto en archivos usando Vim
Vim es un editor de texto conocido y reputado. Es el equivalente en la línea de comandos de un editor de texto moderno. Vim viene con numerosas funciones avanzadas como complementos, macros, autocompletado, filtros, etc.
Al igual que nano, Vim funciona con un solo archivo a la vez. Si tiene varios archivos de texto, 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 de Vim y presione "Enter".
PS
Encuentra texto en archivos usando el Editor de texto GNOME
El editor de texto GNOME es el editor de texto que viene con el escritorio GNOME. Es un editor de texto simplista con todas las características básicas que esperarías. Es una buena alternativa a los editores de texto de la línea de comandos.
Similar a nano y vim, se aplica la misma precaución a este método. Si la cantidad de archivos de texto es grande, es mejor que te quedes con grep.
Abra el archivo de texto en el Editor de texto. Presiona "Ctrl + F" para que aparezca la barra de búsqueda.
Encuentra texto en archivos usando VS Code
Visual Studio Code es un potente editor de texto con toneladas de funciones. Está optimizado para que los programadores lo utilicen como si fuera un IDE completo. Está disponible en casi todas las principales distribuciones de Linux.
Instalar el paquete instantáneo de Visual Studio Code.
$ sudo código de instalación rápida - clásico
Abra el archivo de texto en VS Code. Presiona "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, existen numerosos editores de texto para elegir. Cualquier editor de texto moderno proporcionará la opción de búsqueda de texto.
Computación feliz!