{"id":9053,"date":"2019-08-21T15:38:09","date_gmt":"2019-08-21T15:38:09","guid":{"rendered":"https:\/\/blog.hostinger.io\/es-tutoriales\/?p=9053"},"modified":"2025-11-06T19:11:17","modified_gmt":"2025-11-06T18:11:17","slug":"comando-grep-linux","status":"publish","type":"post","link":"\/es\/tutoriales\/comando-grep-linux\/","title":{"rendered":"Comando grep de Linux: c\u00f3mo utilizarlo y ejemplos \u00fatiles"},"content":{"rendered":"<p class=\"wp-block-paragraph\">El comando <strong>grep<\/strong> en Linux sirve para buscar l&iacute;neas que contienen un patr&oacute;n espec&iacute;fico dentro de uno o varios archivos. Es una herramienta esencial para filtrar resultados en segundos, especialmente en archivos grandes como registros o configuraciones del sistema.<\/p><p class=\"wp-block-paragraph\">En este tutorial aprender&aacute;s c&oacute;mo usar grep paso a paso: desde su sintaxis b&aacute;sica y las opciones m&aacute;s comunes hasta b&uacute;squedas recursivas, expresiones regulares y combinaciones con otros comandos.&nbsp;<\/p><p class=\"wp-block-paragraph\">Tambi&eacute;n ver&aacute;s ejemplos pr&aacute;cticos para aplicar estas funciones al administrar tu servidor o analizar archivos en tu VPS.<\/p><figure class=\"wp-block-image size-large\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Linux-Commands-Cheatsheet-ES.pdf\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-26004\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-sintaxis-del-comando-grep\">Sintaxis del comando grep<\/h2><p class=\"wp-block-paragraph\">La sintaxis b&aacute;sica de grep es la siguiente:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep [options] pattern [FILE] <\/pre><p class=\"wp-block-paragraph\">A continuaci&oacute;n se explica el significado de cada elemento:<\/p><ul class=\"wp-block-list\">\n<li><strong>grep<\/strong>: nombre de la utilidad.<\/li>\n\n\n\n<li><strong>opciones<\/strong>: argumentos que modifican el comportamiento del comando grep.<\/li>\n\n\n\n<li><strong>patr&oacute;n<\/strong>: la palabra clave que deseas buscar.<\/li>\n\n\n\n<li><strong>archivo<\/strong>: el elemento cuyo contenido deseas buscar.&nbsp;<\/li>\n<\/ul><p class=\"wp-block-paragraph\">En la siguiente secci&oacute;n, explicaremos las opciones m&aacute;s utilizadas y ejemplos de su uso en la vida real. Puedes consultar esta gu&iacute;a de utilidades en su interfaz de l&iacute;nea de comandos introduciendo:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep --help<\/pre><p class=\"wp-block-paragraph\">Recuerda que debes tener el privilegio de &ldquo;lectura&rdquo; del archivo que deseas comprobar con grep. Lee nuestro tutorial sobre <a href=\"\/es\/tutoriales\/cambiar-permisos-y-propietarios-linux-linea-de-comandos\/\">c&oacute;mo cambiar los permisos en Linux<\/a>.<\/p><h2 class=\"wp-block-heading\" id=\"h-para-que-se-utiliza-el-comando-grep\">&iquest;Para qu&eacute; se utiliza el comando grep?<\/h2><p class=\"wp-block-paragraph\">El comando grep se utiliza generalmente para buscar l&iacute;neas que contengan una palabra clave espec&iacute;fica en un archivo. Tambi&eacute;n es &uacute;til para filtrar la salida de otra utilidad, imprimiendo solo aquellas con un patr&oacute;n concreto. Puedes hacerlo canalizando el comando a grep.<\/p><h2 class=\"wp-block-heading\" id=\"h-uso-del-comando-grep-de-linux\">Uso del comando grep de Linux<\/h2><p class=\"wp-block-paragraph\">En esta secci&oacute;n, analizaremos el uso habitual de la utilidad grep. Si utilizas un VPS, ejecuta el comando a trav&eacute;s de un <a href=\"\/es\/tutoriales\/conectar-usando-terminal-putty-ssh\/\">cliente SSH como PuTTY<\/a>. Para ordenadores de sobremesa, abre la terminal de Linux pulsando <strong>Ctrl + Alt + T<\/strong>.<\/p><h3 class=\"wp-block-heading\">B&uacute;squeda b&aacute;sica<\/h3><p class=\"wp-block-paragraph\">El uso m&aacute;s b&aacute;sico de grep es filtrar archivos de texto, mostrando las l&iacute;neas que contienen una palabra concreta. Para ello, ejecuta este comando sin ninguna opci&oacute;n, con esta sintaxis:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep keyword file<\/pre><p class=\"wp-block-paragraph\">Tambi&eacute;n puedes enumerar varios nombres de archivo de la siguiente manera:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep pattern file1 file2 file3<\/pre><p class=\"wp-block-paragraph\">Si deseas utilizar una frase como cadena de b&uacute;squeda, encierra el patr&oacute;n entre comillas. Por ejemplo, este comando encontrar&aacute; las l&iacute;neas que contengan <strong>Linux distro <\/strong>en el archivo de ejemplo<strong> hostinger.txt<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep \"Linux distro\" hostinger.txt&nbsp;<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1128\" height=\"114\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-outputs-matching-lines-from-a-file.png\/public\" alt='Ejemplo de uso de grep \"Linux distro\" hostinger.txt&nbsp;' class=\"wp-image-48719\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-outputs-matching-lines-from-a-file.png\/w=1128,fit=scale-down 1128w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-outputs-matching-lines-from-a-file.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-outputs-matching-lines-from-a-file.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-outputs-matching-lines-from-a-file.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-outputs-matching-lines-from-a-file.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1128px) 100vw, 1128px\" \/><\/figure><p class=\"wp-block-paragraph\">Ten en cuenta que la sintaxis solo funciona si el archivo de entrada se encuentra en tu directorio actual. Si se encuentra en otra ubicaci&oacute;n, especifica la ruta completa de la siguiente manera:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep pattern \/path\/to\/the\/file.txt<\/pre><p class=\"wp-block-paragraph\"><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>&iexcl;Importante! <\/strong>Dado que los comandos de Linux como grep distinguen entre may&uacute;sculas y min&uacute;sculas, preste atenci&oacute;n al uso de may&uacute;sculas en el patr&oacute;n de b&uacute;squeda y el nombre del archivo.\n            <\/p><\/div><\/p><h3 class=\"wp-block-heading\">B&uacute;squeda recursiva<\/h3><p class=\"wp-block-paragraph\">Puedes buscar de forma recursiva en todos los archivos y subdirectorios de una carpeta utilizando la opci&oacute;n <strong>-r<\/strong>. Esta es la sintaxis:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -r keyword path\/to\/a\/folder<\/pre><p class=\"wp-block-paragraph\">Por ejemplo, tenemos un directorio<strong> tutorial\/content\/linux <\/strong>que contiene dos carpetas llamadas <strong>commands <\/strong>y <strong>utilities<\/strong>. Para buscar la palabra <strong>VPS <\/strong>en todos los archivos de estas carpetas, simplemente ejecuta grep en la ruta principal:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -r VPS tutorial\/content\/linux<\/pre><p class=\"wp-block-paragraph\">El comando grep mostrar&aacute; las l&iacute;neas coincidentes de cualquier archivo y carpeta dentro del directorio<strong> tutorial\/content\/linux<\/strong>.<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"96\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-recursively-searches-files-within-different-subfolders.png\/public\" alt=\"Uso del comando grep -r VPS tutorial\/content\/linux\" class=\"wp-image-48720\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-recursively-searches-files-within-different-subfolders.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-recursively-searches-files-within-different-subfolders.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-recursively-searches-files-within-different-subfolders.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-recursively-searches-files-within-different-subfolders.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p class=\"wp-block-paragraph\">Tambi&eacute;n puedes usar la opci&oacute;n -r para buscar el mismo patr&oacute;n en varios archivos o directorios al mismo tiempo. grep analizar&aacute; todas las carpetas dentro de la ruta indicada y mostrar&aacute; cada coincidencia con el nombre del archivo correspondiente.<\/p><h3 class=\"wp-block-heading\">Imprimir entradas alrededor de la l&iacute;nea coincidente<\/h3><p class=\"wp-block-paragraph\">Grep te permite mostrar las l&iacute;neas anteriores y posteriores a la entrada coincidente para proporcionarte m&aacute;s contexto. Para ello, a&ntilde;ade estas opciones seguidas del n&uacute;mero de l&iacute;neas adyacentes que deseas imprimir:<\/p><ul class=\"wp-block-list\">\n<li><strong>A<\/strong>: imprime la l&iacute;nea posterior a la entrada coincidente.<\/li>\n\n\n\n<li><strong>B<\/strong>: muestra la l&iacute;nea anterior a la entrada coincidente.<\/li>\n\n\n\n<li><strong>C<\/strong>: muestra las l&iacute;neas tanto despu&eacute;s como antes de la entrada.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Por ejemplo, ejecuta la siguiente sintaxis de grep para imprimir una entrada despu&eacute;s de las l&iacute;neas coincidentes:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -A1 pattern file<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1048\" height=\"94\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-prints-a-line-after-the-matching-entry.png\/public\" alt=\"Uso del comando grep -A1 pattern file\" class=\"wp-image-48723\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-prints-a-line-after-the-matching-entry.png\/w=1048,fit=scale-down 1048w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-prints-a-line-after-the-matching-entry.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-prints-a-line-after-the-matching-entry.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-prints-a-line-after-the-matching-entry.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-prints-a-line-after-the-matching-entry.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1048px) 100vw, 1048px\" \/><\/figure><h3 class=\"wp-block-heading\">B&uacute;squeda sin distinci&oacute;n entre may&uacute;sculas y min&uacute;sculas<\/h3><p class=\"wp-block-paragraph\">De forma predeterminada, grep tratar&aacute; los patrones con diferentes may&uacute;sculas y min&uacute;sculas como cadenas diferentes. Por ejemplo, no puedes buscar <strong>Grep <\/strong>y <strong>GREP <\/strong>utilizando la palabra clave <strong>grep<\/strong>. Puedes desactivar este comportamiento a&ntilde;adiendo la opci&oacute;n <strong>-i<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -i keyword file<\/pre><p class=\"wp-block-paragraph\">Si queremos buscar la palabra <strong>vps <\/strong>e ignorar las distinciones entre may&uacute;sculas y min&uacute;sculas, ejecuta el siguiente comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -i vps hostinger.txt<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1134\" height=\"82\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-finds-the-pattern-vps-ignoring-case-distinctions.png\/public\" alt=\"Uso del comando grep -i vps hostinger.txt\" class=\"wp-image-48724\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-finds-the-pattern-vps-ignoring-case-distinctions.png\/w=1134,fit=scale-down 1134w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-finds-the-pattern-vps-ignoring-case-distinctions.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-finds-the-pattern-vps-ignoring-case-distinctions.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-finds-the-pattern-vps-ignoring-case-distinctions.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-finds-the-pattern-vps-ignoring-case-distinctions.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1134px) 100vw, 1134px\" \/><\/figure><h3 class=\"wp-block-heading\">B&uacute;squeda invertida<\/h3><p class=\"wp-block-paragraph\">A&ntilde;ade la opci&oacute;n <strong>-v <\/strong>a tu comando grep con esta sintaxis para habilitar la b&uacute;squeda inversa, imprimiendo las l&iacute;neas que no coinciden:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -v keyword file<\/pre><p class=\"wp-block-paragraph\">Por ejemplo, este comando muestra solo aquellas l&iacute;neas que no contienen la palabra VPS del archivo <strong>hostinger.txt<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -v VPS hostinger.txt<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"910\" height=\"90\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-prints-lines-that-dont-match-the-searched-pattern.png\/public\" alt=\"Uso del comando grep -v VPS hostinger.txt\" class=\"wp-image-48725\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-prints-lines-that-dont-match-the-searched-pattern.png\/w=910,fit=scale-down 910w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-prints-lines-that-dont-match-the-searched-pattern.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-prints-lines-that-dont-match-the-searched-pattern.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-prints-lines-that-dont-match-the-searched-pattern.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 910px) 100vw, 910px\" \/><\/figure><p class=\"wp-block-paragraph\"><strong>&iquest;C&oacute;mo puedo buscar l&iacute;neas que no coincidan con un patr&oacute;n?<\/strong><\/p><p class=\"wp-block-paragraph\">Para imprimir l&iacute;neas que no coincidan con un patr&oacute;n, a&ntilde;ada la opci&oacute;n <strong>-v <\/strong>a su comando grep. Esto habilitar&aacute; la funci&oacute;n de b&uacute;squeda inversa, mostrando todas las entradas de un archivo que no contengan la palabra clave.<\/p><h3 class=\"wp-block-heading\">Mostrar n&uacute;meros de l&iacute;nea<\/h3><p class=\"wp-block-paragraph\">Si est&aacute;s trabajando con archivos grandes, como un registro, los datos de salida pueden ser muy largos. Esto dificulta la comprobaci&oacute;n de la ubicaci&oacute;n del patr&oacute;n. Para simplificar la tarea, puedes mostrar los n&uacute;meros de l&iacute;nea con la opci&oacute;n <strong>-n <\/strong>de la siguiente manera:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -n keyword file<\/pre><p class=\"wp-block-paragraph\">Por ejemplo, este comando imprimir&aacute; las l&iacute;neas del archivo <strong>auth.log <\/strong>que contienen la palabra <strong>&ldquo;usuario desconocido&rdquo; <\/strong>y sus n&uacute;meros:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -n \"unknown user\" auth.log<\/pre><p class=\"wp-block-paragraph\">La l&iacute;nea que comienza con el n&uacute;mero uno significa que es la primera entrada del archivo <strong>auth.log<\/strong> y as&iacute; sucesivamente.<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1286\" height=\"196\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-command-shows-the-line-numbers.png\/public\" alt='Uso del comando grep -n \"unknown user\" auth.log' class=\"wp-image-48726\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-command-shows-the-line-numbers.png\/w=1286,fit=scale-down 1286w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-command-shows-the-line-numbers.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-command-shows-the-line-numbers.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-command-shows-the-line-numbers.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-command-shows-the-line-numbers.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1286px) 100vw, 1286px\" \/><\/figure><p class=\"wp-block-paragraph\">Entre las opciones m&aacute;s utilizadas de grep se encuentran -i para ignorar may&uacute;sculas y min&uacute;sculas, -r para realizar b&uacute;squedas recursivas, -v para excluir coincidencias y -n para mostrar el n&uacute;mero de l&iacute;nea. Estas opciones te permitir&aacute;n adaptar f&aacute;cilmente el comando a distintos casos de uso.&nbsp;<\/p><p class=\"wp-block-paragraph\">        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Consejo profesional                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Puedes combinar opciones de grep para refinar la b&uacute;squeda. Por ejemplo, ejecuta <strong>grep -nv pattern file <\/strong>para mostrar el n&uacute;mero de l&iacute;nea de las entradas que no contienen el patr&oacute;n especificado.<\/p>\n                    <\/div>\n        <\/p><h3 class=\"wp-block-heading\">Uso de grep con expresiones regulares<\/h3><p class=\"wp-block-paragraph\">Las expresiones regulares o regex, son cadenas de caracteres que definen un patr&oacute;n de b&uacute;squeda. Son &uacute;tiles para encontrar una consulta muy espec&iacute;fica sin tener que enumerar las palabras clave individualmente. A continuaci&oacute;n se muestran varios s&iacute;mbolos regex y sus significados:<\/p><ul class=\"wp-block-list\">\n<li><strong>.<\/strong>: coincide con cualquier car&aacute;cter &uacute;nico.<\/li>\n\n\n\n<li><strong>*<\/strong>: representa cero o m&aacute;s caracteres precedentes.<\/li>\n\n\n\n<li><strong>+<\/strong>: significa uno o m&aacute;s de los caracteres anteriores.<\/li>\n\n\n\n<li><strong>?<\/strong>: indica cero o uno de los caracteres anteriores.<\/li>\n\n\n\n<li><strong>^<\/strong>: indica el inicio de un patr&oacute;n regex.<\/li>\n\n\n\n<li><strong>$<\/strong>: representa el final de un patr&oacute;n de expresi&oacute;n regular.<\/li>\n\n\n\n<li><strong>()<\/strong>: agrupa patrones.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Estas expresiones regulares se comportan de manera diferente dependiendo de si se utiliza la <strong>expresi&oacute;n regular extendida <\/strong>(ERE) con la opci&oacute;n <strong>-E <\/strong>o la <strong>expresi&oacute;n regular b&aacute;sica<\/strong> predeterminada (BRE).<\/p><p class=\"wp-block-paragraph\">Por ejemplo, si deseas buscar patrones como <strong>abc <\/strong>y <strong>acc<\/strong>, ejecuta el siguiente comando. El s&iacute;mbolo del punto (<strong>.<\/strong>) coincidir&aacute; con cualquier car&aacute;cter:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -E 'a.c' file<\/pre><p class=\"wp-block-paragraph\">Los s&iacute;mbolos <strong>^ <\/strong>y <strong>$ <\/strong>te permiten buscar l&iacute;neas que comienzan o terminan con un patr&oacute;n espec&iacute;fico. Considera este ejemplo de comando grep:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -E '^pattern' file<\/pre><p class=\"wp-block-paragraph\">El comando anterior coincidir&aacute; con las l&iacute;neas que comienzan con <strong>patr&oacute;n<\/strong>, como <strong>patr&oacute;n es una cadena de texto<\/strong>. Por su parte, el siguiente comando buscar&aacute; entradas que terminan con <strong>patr&oacute;n<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -E 'pattern$' file<\/pre><p class=\"wp-block-paragraph\">Tambi&eacute;n puedes combinar varios s&iacute;mbolos de expresiones regulares para refinar tu b&uacute;squeda y obtener un resultado m&aacute;s espec&iacute;fico. Por ejemplo, este comando buscar&aacute; l&iacute;neas que contengan cualquier palabra que comience con <strong>H <\/strong>y termine con <strong>R<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep '^H.*R$' 1.txt<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"668\" height=\"116\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-searches-patterns-using-regex-1.png\/public\" alt=\"Uso del comando grep '^H.*R$' 1.txt\" class=\"wp-image-48727\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-searches-patterns-using-regex-1.png\/w=668,fit=scale-down 668w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-searches-patterns-using-regex-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-searches-patterns-using-regex-1.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 668px) 100vw, 668px\" \/><\/figure>\n<\/div><h3 class=\"wp-block-heading\">Buscar varios patrones<\/h3><p class=\"wp-block-paragraph\">Puedes buscar varias palabras clave con un solo comando grep. La forma m&aacute;s sencilla de hacerlo es enumerando las palabras clave entre comillas (<strong>&lsquo;<\/strong>) separadas por barras invertidas (<strong>\\<\/strong>) y barras verticales (<strong>|<\/strong>). Esta es la sintaxis:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep 'pattern1\\|pattern2\\|pattern3' file<\/pre><p class=\"wp-block-paragraph\">En este comando, grep utiliza BRE, ya que no estamos a&ntilde;adiendo ninguna opci&oacute;n. Para evitar que interprete la barra vertical como el patr&oacute;n consultado, la evitamos utilizando la barra invertida.<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1260\" height=\"86\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-searches-two-patterns-from-a-file.png\/public\" alt=\"Uso del comando grep 'pattern1\\|pattern2\\|pattern3' file\" class=\"wp-image-48730\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-searches-two-patterns-from-a-file.png\/w=1260,fit=scale-down 1260w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-searches-two-patterns-from-a-file.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-searches-two-patterns-from-a-file.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-searches-two-patterns-from-a-file.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-searches-two-patterns-from-a-file.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1260px) 100vw, 1260px\" \/><\/figure><p class=\"wp-block-paragraph\">Tambi&eacute;n puedes buscar varios patrones sin barra invertida a&ntilde;adiendo la opci&oacute;n <strong>-E <\/strong>para habilitar la funci&oacute;n especial de la barra vertical, de la siguiente manera:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -E 'pattern1|pattern2|pattern3' file<\/pre><p class=\"wp-block-paragraph\">En lugar de la opci&oacute;n -E, puedes hacerlo utilizando el comando <strong>egrep<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">egrep 'pattern1|pattern2|pattern3' file<\/pre><p class=\"wp-block-paragraph\">Si desea especificar los patrones por separado, utiliza la opci&oacute;n <strong>-e <\/strong>para cada consulta de b&uacute;squeda. Esta es la sintaxis del comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -e pattern1 -e pattern2 -e pattern3 file<\/pre><p class=\"wp-block-paragraph\">Todas estas variaciones del comando grep producen el mismo resultado. Por lo tanto, elige una seg&uacute;n tus preferencias.<\/p><h3 class=\"wp-block-heading\">Contar coincidencias<\/h3><p class=\"wp-block-paragraph\">Varias tareas de administraci&oacute;n del sistema pueden requerir que compruebes cu&aacute;ntas l&iacute;neas de un archivo tienen un patr&oacute;n coincidente. Por ejemplo, esto es &uacute;til para contar los intentos de inicio de sesi&oacute;n desde una direcci&oacute;n IP espec&iacute;fica en un archivo de registro.<\/p><p class=\"wp-block-paragraph\">Para comprobar cu&aacute;ntas l&iacute;neas contienen un patr&oacute;n, utiliza la opci&oacute;n <strong>-c <\/strong>o <strong>&ndash;count <\/strong>de la siguiente manera:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -c pattern file<\/pre><p class=\"wp-block-paragraph\">Sin embargo, la opci&oacute;n <strong>-c <\/strong>cuenta las l&iacute;neas coincidentes, no las apariciones del patr&oacute;n. Si deseas comprobarlo, utiliza la opci&oacute;n <strong>-o <\/strong>y p&aacute;sala al comando <strong>wc <\/strong>de la siguiente manera:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -o pattern file | wc -l<\/pre><p class=\"wp-block-paragraph\">En lugar de mostrar la l&iacute;nea completa, la opci&oacute;n <strong>-o <\/strong>solo imprime las apariciones del patr&oacute;n, que el comando wc cuenta. Hablaremos del uso de una tuber&iacute;a (<strong>|<\/strong>) en la secci&oacute;n posterior.<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1092\" height=\"64\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-counts-the-number-of-pattern-occurences.png\/public\" alt=\"Uso del comando grep -o pattern file | wc -l\" class=\"wp-image-48731\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-counts-the-number-of-pattern-occurences.png\/w=1092,fit=scale-down 1092w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-counts-the-number-of-pattern-occurences.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-counts-the-number-of-pattern-occurences.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-counts-the-number-of-pattern-occurences.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/grep-counts-the-number-of-pattern-occurences.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1092px) 100vw, 1092px\" \/><\/figure><p class=\"wp-block-paragraph\">Ten en cuenta que este comando tambi&eacute;n cuenta otras variantes de la palabra clave. Por ejemplo, si utilizas el patr&oacute;n <strong>connect<\/strong>, grep buscar&aacute; palabras como <strong>reconnect<\/strong>, <strong>connected<\/strong>, <strong>connecting <\/strong>y <strong>disconnected<\/strong>.<\/p><p class=\"wp-block-paragraph\">Si deseas contar la palabra que coincide exactamente, a&ntilde;ade los l&iacute;mites de palabra al principio y al final de la palabra clave. A continuaci&oacute;n se muestra un ejemplo:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep -o '\\bpattern\\b' file <\/pre><h3 class=\"wp-block-heading\">Combinar grep con otros comandos<\/h3><p class=\"wp-block-paragraph\">Adem&aacute;s de archivos y directorios, puedes filtrar datos de entrada de otro comando utilizando grep. Para ello, comb&iacute;nalos utilizando una barra vertical (<strong>|<\/strong>) de la siguiente manera:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">command | grep pattern<\/pre><p class=\"wp-block-paragraph\">En el fragmento, la barra vertical redirige la salida del primer comando a grep, filtrando el resultado en funci&oacute;n de la palabra clave. A continuaci&oacute;n se muestra un ejemplo de uso real:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ls | grep '\\.txt$'<\/pre><p class=\"wp-block-paragraph\">El comando <strong>ls <\/strong>muestra el contenido del directorio actual. A continuaci&oacute;n, el comando <strong>grep <\/strong>filtra el resultado y muestra los archivos <strong>TXT <\/strong>que hay dentro de la carpeta. Aqu&iacute; hay otro ejemplo:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ps aux | grep \"process_name\" <\/pre><p class=\"wp-block-paragraph\">El comando <strong>ps aux <\/strong>muestra todos los procesos que se est&aacute;n ejecutando en el sistema. A continuaci&oacute;n, la utilidad <strong>grep <\/strong>busca uno concreto de la lista bas&aacute;ndose en su nombre.<\/p><p class=\"wp-block-paragraph\">Dependiendo de la tarea, puedes combinar grep con otras herramientas. Los usuarios del <a href=\"https:\/\/www.hostinger.com\/vps-hosting\">alojamiento VPS<\/a> de Hostinger que no est&eacute;n seguros de qu&eacute; utilidades utilizar pueden recurrir a nuestro <strong>asistente con IA, Kodee<\/strong>, para que les explique y genere el comando completo.<\/p><p class=\"wp-block-paragraph\">Por ejemplo, preg&uacute;ntale a <strong>Kodee<\/strong>: &ldquo;Quiero enumerar todos los servicios de mi VPS Ubuntu y utilizar la utilidad grep para filtrar el resultado, imprimiendo solo los relacionados con NGINX. Genera el comando completo&rdquo;.<\/p><p class=\"wp-block-paragraph\">A continuaci&oacute;n, escribir&aacute; el comando adecuado para tu sistema y sus necesidades de la siguiente manera:<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"578\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/panel-vps-hpanel-scaled.png\/public\" alt=\"Panel de control VPS de hPanel\" class=\"wp-image-48734\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/panel-vps-hpanel-scaled.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/panel-vps-hpanel-scaled.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/panel-vps-hpanel-scaled.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/panel-vps-hpanel-scaled.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/panel-vps-hpanel-scaled.png\/w=1536,fit=scale-down 1536w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2019\/08\/panel-vps-hpanel-scaled.png\/w=2048,fit=scale-down 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p class=\"wp-block-paragraph\">Tambi&eacute;n puedes pedirle a<strong> Kodee <\/strong>que realice la tarea directamente. Escribe un comando como &ldquo;Enumera todos los servicios de mi VPS Ubuntu y filtra los resultados para mostrar solo los relacionados con Docker&rdquo;.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/es\/servidor-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-29287\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h3 class=\"wp-block-heading\">Redirigir la salida<\/h3><p class=\"wp-block-paragraph\">Es posible que los administradores del sistema necesiten guardar los resultados del comando grep para su posterior procesamiento o archivo. Una forma sencilla de hacerlo es redirigir la salida a un archivo de texto utilizando el s&iacute;mbolo mayor que (<strong>&gt;<\/strong>). Esta es la sintaxis:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grep pattern file &gt; target_file.txt<\/pre><p class=\"wp-block-paragraph\">Si el archivo de destino no existe, el comando grep lo crear&aacute; autom&aacute;ticamente en tu directorio de trabajo actual.<\/p><p class=\"wp-block-paragraph\">Para comprobar si grep guarda la salida correctamente, imprime el contenido del archivo de destino utilizando el comando<strong> cat <\/strong>de la siguiente manera:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cat target_file.txt<\/pre><h2 class=\"wp-block-heading\" id=\"h-como-sacarle-el-maximo-partido-al-comando-grep\">C&oacute;mo sacarle el m&aacute;ximo partido al comando grep<\/h2><p class=\"wp-block-paragraph\">Dominar el comando <strong>grep<\/strong> te da una ventaja real en la administraci&oacute;n de sistemas Linux. M&aacute;s all&aacute; de las b&uacute;squedas b&aacute;sicas, puedes combinarlo con otras utilidades como awk, sed o sort para analizar datos, depurar errores y automatizar tareas. <\/p><p class=\"wp-block-paragraph\">Por ejemplo, usar grep dentro de una tuber&iacute;a (|) te permitir&aacute; filtrar resultados de otros comandos y mantener tus registros limpios y organizados.<\/p><p class=\"wp-block-paragraph\">Si trabajas con un servidor o VPS, poner en pr&aacute;ctica estos comandos te ayudar&aacute; a localizar informaci&oacute;n r&aacute;pidamente en archivos de configuraci&oacute;n, detectar fallos de servicios o comprobar conexiones activas sin depender de herramientas externas. Cuanto m&aacute;s uses grep, m&aacute;s notar&aacute;s su utilidad para optimizar el tiempo de gesti&oacute;n del sistema.<\/p><p class=\"wp-block-paragraph\">Para seguir aprendiendo, revisa nuestra gu&iacute;a completa sobre<a href=\"\/es\/tutoriales\/linux-comandos\/\"> comandos de Linux<\/a> y descubre c&oacute;mo cada herramienta puede complementar a grep en tus tareas diarias. <\/p><p class=\"wp-block-paragraph\">Tambi&eacute;n puedes explorar c&oacute;mo cambiar permisos de archivos o redirigir salidas para llevar tus b&uacute;squedas a otro nivel.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El comando grep en Linux sirve para buscar l&iacute;neas que contienen un patr&oacute;n espec&iacute;fico dentro de uno o varios archivos. Es una herramienta esencial para filtrar resultados en segundos, especialmente en archivos grandes como registros o configuraciones del sistema. En este tutorial aprender&aacute;s c&oacute;mo usar grep paso a paso: desde su sintaxis b&aacute;sica y las [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/es\/tutoriales\/comando-grep-linux\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":85,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"C\u00f3mo usar el comando grep en Linux (ejemplos pr\u00e1cticos)","rank_math_description":"Aprende a usar el comando grep en Linux para buscar patrones y filtrar resultados f\u00e1cilmente desde la terminal.","rank_math_focus_keyword":"grep linux","footnotes":""},"categories":[5700],"tags":[14133],"class_list":["post-9053","post","type-post","status-publish","format-standard","hentry","category-vps","tag-grep-linux"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/grep-command-in-linux\/","default":1},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/comando-grep-linux\/","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/commande-grep-sous-linux\/","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/comando-grep-linux\/","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/grep-command\/","default":0},{"locale":"nl-NL","link":"https:\/\/www.hostinger.com\/nl\/tutorials\/grep-command\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/grep-command-in-linux\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/grep-command-in-linux\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/grep-command-in-linux\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/grep-command-in-linux\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/grep-command-in-linux\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/grep-command-in-linux\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/grep-command-in-linux\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/comando-grep-linux\/","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/comando-grep-linux\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/comando-grep-linux\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/comando-grep-linux\/","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/9053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/users\/85"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/comments?post=9053"}],"version-history":[{"count":24,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/9053\/revisions"}],"predecessor-version":[{"id":48739,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/9053\/revisions\/48739"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/media?parent=9053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/categories?post=9053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/tags?post=9053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}