Estaciones de trabajo en línea OnWorks Linux y Windows

Logotipo

Alojamiento gratuito en línea para estaciones de trabajo

<Anterior | Contenido | Siguiente>

grep

El programa principal que usaremos para trabajar con expresiones regulares es nuestro viejo amigo, grep. El nombre "grep" en realidad se deriva de la frase "impresión de expresión regular global", por lo que podemos ver que grep tiene algo que ver con las expresiones regulares. En esencia, grep busca archivos de texto para el texto de ocurrencia que coincida con una expresión regular especificada y genera cualquier línea que contenga una coincidencia con la salida estándar.


Hasta ahora, hemos utilizado grep con cadenas fijas, así:


[yo @ linuxbox ~] $ ls / usr / bin | cremallera grep

[yo @ linuxbox ~] $ ls / usr / bin | cremallera grep


Esto listará todos los archivos en el / usr / bin directorio cuyos nombres contienen la subcadena "zip".

La grep El programa acepta opciones y argumentos de esta manera:

grep [opciones] expresiones regulares [archivo...]

donde expresiones regulares es una expresión regular.

A continuación se muestra una lista de los grep opciones:


Tabla 19-1: Opciones de grep


Opción Descripción

Opción Descripción

-i Ignorar caso. No distinga entre mayúsculas y minúsculas. También se puede especificar --ignorar caso.


imagen

-v Invertir partido. Normalmente, grep imprime líneas que contienen una coincidencia.

Esta opción provoca grep para imprimir cada línea que no contenga una coincidencia. También se puede especificar --invertir partido.


imagen

-c Imprima el número de coincidencias (o no coincidencias si el -v también se especifica la opción) en lugar de las líneas en sí. También se puede especificar --contar.


imagen

-l Imprima el nombre de cada archivo que contenga una coincidencia en lugar de las líneas en sí. También se puede especificar --archivos-con-coincidencias.


imagen

-L Como la opción -l, pero imprime solo los nombres de los archivos que no contienen coincidencias. También se puede especificar --files-without- match.


imagen

-n Prefije cada línea coincidente con el número de la línea dentro del archivo. También se puede especificar --line-number.


imagen

-h Para búsquedas de varios archivos, suprima la salida de nombres de archivo. También se puede especificar --no-nombre de archivo.


imagen


Para explorar más a fondo grep, creemos algunos archivos de texto para buscar:

grep


[yo @ linuxbox ~] $ ls / bin> dirlist-bin.txt [yo @ linuxbox ~] $ ls / usr / bin> dirlist-usr-bin.txt [yo @ linuxbox ~] $ ls / sbin> dirlist-sbin.txt [yo @ linuxbox ~] $ ls / usr / sbin> dirlist-usr-sbin.txt [yo @ linuxbox ~] $ ls dirlist * .txt

lista de directorios-bin.txt lista de directorios-sbin.txt lista de directorios-usr-sbin.txt lista de directorios-usr-bin.txt

[yo @ linuxbox ~] $ ls / bin> dirlist-bin.txt [yo @ linuxbox ~] $ ls / usr / bin> dirlist-usr-bin.txt [yo @ linuxbox ~] $ ls / sbin> dirlist-sbin.txt [yo @ linuxbox ~] $ ls / usr / sbin> dirlist-usr-sbin.txt [yo @ linuxbox ~] $ ls dirlist * .txt

lista de directorios-bin.txt lista de directorios-sbin.txt lista de directorios-usr-sbin.txt lista de directorios-usr-bin.txt


Podemos realizar una búsqueda simple de nuestra lista de archivos como esta:



[yo @ linuxbox ~] $ grep bzip dirlist * .txt

dirlist-bin.txt: bzip2 dirlist-bin.txt: bzip2recover

[yo @ linuxbox ~] $ grep bzip dirlist * .txt

dirlist-bin.txt: bzip2 dirlist-bin.txt: bzip2recover


En este ejemplo, grep busca la cadena en todos los archivos enumerados bzip y encuentra dos coincidencias, ambas en el archivo lista-dirección-bin.txt. Si solo estuviéramos interesados ​​en la lista de archivos que contienen coincidencias en lugar de las coincidencias en sí, podríamos especificar el -l opción:



[yo @ linuxbox ~] $ grep -l bzip dirlist * .txt

lista-dirección-bin.txt

[yo @ linuxbox ~] $ grep -l bzip dirlist * .txt

lista-dirección-bin.txt


Por el contrario, si solo quisiéramos ver una lista de los archivos que no contienen una coincidencia, podríamos hacer esto:



[yo @ linuxbox ~] $ grep -L bzip dirlist * .txt

lista de direcciones-sbin.txt lista de direcciones-usr-bin.txt lista de direcciones-usr-sbin.txt

[yo @ linuxbox ~] $ grep -L bzip dirlist * .txt

lista de direcciones-sbin.txt lista de direcciones-usr-bin.txt lista de direcciones-usr-sbin.txt


Top OS Cloud Computing en OnWorks: