Imprimir
Categoría: ¿Como ... UNIX/Linux?

Buscar el texto dentro de un archivo es una de las funciones básicas de UNIX/Linux, la cual se logra con el comando grep, al utilizarlo en combinación con el comando find la búsqueda es más exahustiva y puede aplicarse a tantos archivos como se quiera de acuerdo al uso del comando find.

Nota: Si tienes dudas o simplemente quieres profundizar en el uso del comando find, puedes consultar Encontrar archivos en UNIX/Linux

Encontrar texto en un archivo

Comando grep

El comando grep busca un texto en un archivo, con la sintaxis siguiente:

$ grep [texto_buscado] [archivo]

Ejemplo:

$ grep "Arturo P" alumnos_4b.txt

Pero también se podría buscar en varios archivos utilizando comodines

$ grep "Arturo P" alumnos*txt

Esta forma de búsqueda de un texto dentro del archivo, depende de como utilicemos los comodines. Utilizando el comando find se podrían evaluar un mayor número de parámetros para la elección de artículos, Por ejemplo podríamos hacer la búsqueda de un texto en un archivo que haya sido modificado hace menos de 4 días. Lo cual se haría de la siguiente forma:

$ grep "Arturo P" `find . -name "alumnos*txt" -mtime -4`

Nota: Se utiliza el acento grave (`) para que la salida del comando se utilice como parámetros del comando que lo antecede

De esta forma la salida del comando find será la lista de parámetros que evaluará el comando grep, permitiendo a la búsqueda del texto parametrizar la lista de archivos en los que podría ser factible encontrar la palabra.