El comando grep facilita te permite buscar palabras o cadenas de texto en archivos o en la entrada estndar de la terminal. Cuando localiza lo que buscas, grep muestra las lneas completas que contienen esa informacin especfica.
El comando grep perteneciente a la familia Unix es una de las herramientas ms verstiles y tiles disponibles. Este busca un patrn que definamos en un archivo de texto. En otras palabras, con grep en Linux puedes buscar una palabra o patrn y se imprimir la lnea o lneas que la contengan.
A primera vista, puede parecer un comando poco til, sin embargo, los administradores de sistemas que manejan muchos servicios con varios archivos de configuracin lo usan para consultar o buscar lneas especficas dentro de esos archivos.
Casi cualquier usuario que tenga ordenador o que trabaje con uno conocer el atajo del teclado Ctrl+F para encontrar texto. La F viene de Find, encontrar en ingls, y puede servirnos, por ejemplo, para encontrar texto en una pgina web. Este atajo est disponible tambin en muchas aplicaciones, habiendo programas que usan la B de Buscar, pero estos atajos slo funcionan si estamos dentro de la aplicacin y con el archivo abierto. En Linux tenemos herramientas muy potentes que podemos lanzar desde el Terminal y si queremos encontrar cualquier texto que est en nuestro equipo usaremos el comando grep.
grep es un comando que nos servir para encontrar texto dentro del archivo que le indiquemos. Su nombre proviene de g/re/p, un comando que sirve para algo parecido en un editor de textos de Unix/Linux. Como otros muchos comandos, grep tiene muchas opciones disponibles que aadiremos en forma de letras y cada una servir para una tarea diferente. Al combinar estas opciones seremos capaces de realizar bsquedas complejas en uno o varios archivos. A continuacin te enseamos todo lo que necesitas saber.
Hay que tener en cuenta que en este artculo escribiremos ejemplos que hay que modificar segn nuestras preferencias de bsqueda. Al decir Archivo, Palabra, etc, nos estaremos refiriendo al archivo con su ruta. Si yo hubiera escrito solo grep Imgenes 830.desktop habra recibido un mensaje diciendo que el archivo no existe. O as sera a no ser que el archivo estuviera en el directorio raz.
Esto realizar una bsqueda del archivo 830.desktop en nuestra carpeta personal, es decir, si el archivo se encuentra en la carpeta personal de otro usuario no la encontrar. Esto es lo ms normal del mundo porque un usuario no tiene permiso para acceder al contenido de otro sin su clave.
grep tambin nos permite realizar bsquedas sujetas a reglas o pautas recurrentes. Por ejemplo, leer todos los archivos de cada directorio que contengan la palabra Pablinux. Para ello escribiremos:
Veremos los resultados de Pablinux en una linea separada precedida del nombre del archivo en el que fue encontrado. Si no queremos ver los nombres del archivo en la salida de datos usaremos la opcin -h (de hide; esconder):
A veces hay archivos que contienen lo que queremos buscar algo ms. Por ejemplo, esto nos puede pasar en palabras compuestas y buscando bosques podemos encontrar guardabosques. Si queremos encontrar una palabra exacta usaremos la opcin -w:
El comando anterior mostrara todas las lineas que no contuvieran la palabra la. Esto puede venir bien en documentos o listas en las que una palabra se repita muchas veces y, por alguna razn, necesitemos acceder al resto de lneas.
grep no solo es capaz de buscar dentro de archivos. Tambin es capaz de mirar informacin del sistema. En la captura anterior podemos ver cmo nos muestra qu modelo de PC tenemos (ya s que no es el porttil ms potente del mundo). Para ello hemos usado el comando:
Como podis ver, el comando grep es una herramienta muy potente que merece la pena sobre todo en casos en los que no recordamos dnde hemos escrito algo o en programacin. Adems, nos sirve para averiguar informacin del sistema de una manera que le gustar a los amantes del Terminal. Te ha sido til esta gua sobre el comando para encontrar textos grep?
Una cadena de caracteres est formada poruno o ms caracteres, una nica letra, una palabra o una frase.Las cadenas de caracteres pueden incluir "espacios en blanco",signos de puntuacin, y caracteres invisibles (de control).
grep se utiliza muy a menudo como "filtro"con otros comandos. Esto le permite filtrar y eliminar la informacinintil que se produce tras ejecutar un comando. Para usar grep como filtro, debe enviar el resultado del comando mediante grep por el canal de comunicacin. El smbolo parael canal de comunicacin es "".
grep puede buscar una cadena de caracteres en ungrupo de archivos. Cuando encuentre un patrn que cumple con las pautasen ms de un archivo, imprime el nombre del archivo, seguido de unacoma y de la lnea que concuerda con el patrn:
Para buscar todas las lneas que no contenganuna determinada cadena de caracteres, use la opcin -vpara grep. El siguiente ejemplo explica cmo buscar todas las lneas de los archivos del directorio personal medici que no contengan la letra e:
Tambin puede usar el comando grep para buscardestinos definidos como patrn usando expresiones regulares. Las expresiones regulares estn formadas por letras ynmeros, as como por caracteres que tienen un significado especialpara grep. Dichos caracteres especiales, llamados metacaracteres, tambin tienen un significado especial parael sistema y tienen que ir entre comillas o entre parntesis precedidospor una barra inversa. Siempre que use una expresin regular de grep tras el indicador de comando, escrbala entre comillas,o precedida de metacaracteres de escape (como & ! . * $ ?y \) con una barra inversa (\).
Cuando un asterisco (*) va detrsde un carcter, grep lo interpreta como "ceroo ms apariciones de dicho carcter". Cuando el asteriscova detrs de una expresin regular, greplo interpreta como "cero o ms apariciones de caracteres queconcuerden con el patrn."
Suponga que quiera buscar las lneas de un texto que tenga elsmbolo ($). Si precede el signo de dlarde la expresin regular con una barra invertida (\),indicar a grep que ignore (escape) su significadoespecial. Esto es vlido tambin para los dems metacaracteres(& ! . * ? y el propio \).
Como se explic anteriormente, las comillas se utilizan paradelimitar el texto que desee que sea interpretado como una palabra. Por ejemplo,para que grep busque todos los archivos que contengan lafrase "a la carga, mis valientes", deber introducir losiguiente:
Las comillas simples (') tambin se puedenusar para agrupar frases con palabras mltiples formando unidades nicas,o para asegurarse de que determinados caracteres como por ejemplo $ sean interpretados literalmente (el metacarcter historia ! se interpreta siempre como tal, inclusosi est entre comillas, salvo que lo haga preceder por una barra inversa).En cualquier caso, es una buena idea escribir caracteres como &! $ ? . ; y \ precedidos de una barra inversa,si quiere que se interpreten como caracteres tipogrficos normales.
Crear y utilizar un script bash ayuda a automatizar tareas repetitivas de bsqueda de archivos en Linux. A continuacin se muestra un ejemplo de un sencillo script Bash que busca archivos basndose en un patrn proporcionado:
En conclusin, dominar la bsqueda de archivos en Linux implica comprender y combinar varios comandos, herramientas y tcnicas de scripting. Tanto si eres un entusiasta de la lnea de comandos como si prefieres las interfaces grficas, esta gua te dota de los conocimientos necesarios para navegar y buscar archivos sin problemas en un entorno Linux. Feliz bsqueda de archivos!
El Select-String cmdlet usa la coincidencia de expresiones regulares para buscar patrones de texto en cadenas y archivos de entrada. Puede usar Select-String de forma similar a grep en UNIX o findstr.exe en Windows.
Select-String se basa en lneas de texto. De forma predeterminada, Select-String busca la primera coincidencia en cada lnea y, para cada coincidencia, muestra el nombre de archivo, el nmero de lnea y todo el texto de la lnea que contiene la coincidencia. Puede dirigir Select-String para buscar varias coincidencias por lnea, mostrar texto antes y despus de la coincidencia, o mostrar un valor booleano (True o False) que indica si se encuentra una coincidencia.
Select-String puede mostrar todas las coincidencias de texto o detenerse despus de la primera coincidencia en cada archivo de entrada.Select-String se puede usar para mostrar todo el texto que no coincide con el patrn especificado.
Tambin puede especificar que Select-String debe esperar una codificacin de caracteres determinada, como cuando se buscan archivos de texto Unicode. Select-String usa la marca de orden de bytes (BOM) para detectar el formato de codificacin del archivo. Si el archivo no tiene boM, supone que la codificacin es UTF8.
Las cadenas de texto Hello y HELLO se envan por la canalizacin al Select-String cmdlet .Select-String usa el parmetro Pattern para especificar HELLO. El parmetro CaseSensitive especifica que el caso debe coincidir solo con el patrn mayscula. SimpleMatch es un parmetro opcional y especifica que la cadena del patrn no se interpreta como una expresin regular.Select-String muestra HELLO en la consola de PowerShell.
d3342ee215