Tecnología

Inicio

GREP Tutorial para Unix

La búsqueda de una ocurrencia de un patrón especificado de caracteres dentro de un archivo o entrada estándar es una tarea común para los usuarios de Unix. El comando "grep" se encarga de esta tarea. La búsqueda sigue un patrón definido e imprime los resultados a la salida estándar (la pantalla). El comando toma el primer argumento como el patrón de búsqueda, y el resto de los argumentos como nombres de archivo.

Uso básico

El comando grep puede tomar una cadena simple o una expresión regular como su patrón y buscará a través de uno o más archivos. Por ejemplo, "grep Gordon employee.lst" va a buscar el patrón de "Gordon" en el archivo "employee.lst". Para buscar múltiples cadenas de palabras, encerrar el patrón dentro de las citas, ya sea doble o individual. Puede utilizar comillas simples, siempre y cuando el patrón no contiene comillas simples (como el nombre O'Neal). Por ejemplo, "employee.lst grep 'James Miller'" volverá cada aparición de "James Miller". Sin embargo, "employee.lst grep 'Sam O'Malley'" se producirá un error. En su lugar, utilice la sintaxis "grep" "employee.lst" Sam O'Malley.

También puede utilizar expresiones regulares con el fin de que coincida con un grupo de patrones similares. Las expresiones regulares usa las clases de caracteres entre corchetes ([]) y meta-caracteres para especificar más de un patrón dentro de una sola cadena. La lista completa de los meta-caracteres utilizados por grep se puede encontrar en la página del manual grep (ver Recursos más adelante). Un ejemplo de una búsqueda utilizando metacaracteres sería: "grep" Wilco [cx] k s "employee.lst". Esta búsqueda dice que busque la cadena "Wilco" y sea "c" o "x"; las letras "k" y "s" pueden o no ocurrir en absoluto. El comando devolverá todas las instancias de "Wilcox" y "Wilcocks."

Opciones de comando

El comando grep también tiene un conjunto de opciones que afectan a la salida del comando. La lista completa se puede encontrar en la página del manual, pero hay algunas de las más comunes.

La opción "-c" muestra un recuento del número de ocurrencias del patrón.

La opción "-n" muestra el número de línea, así como las líneas que contienen el patrón.

La opción "-v" muestra la línea o líneas no coinciden con el patrón.

La opción "-i" ignora el caso del patrón.

El uso de grep con otros comandos

Hay momentos en los que desea ejecutar un comando y la búsqueda de un patrón en la salida de ese comando. En este caso, se combinan los dos comandos con el tubo de operador | (). Un ejemplo frecuente de esto es cuando se está en busca de un determinado proceso en Unix. Para ello, se quiere canalizar el comando "ps - ef" en grep: "ps-ef | grep golpe". Al igual que en una búsqueda de archivos, puede utilizar cualquiera de búsquedas de cadenas simples o expresiones regulares.