grep Ejemplos:

Anuncio
Seminario sobre grep
1
grep
(Global Regular Expresion Printer)
Efectúa una selección en el(los) fichero(s) de entrada, y muestra
las lı́neas que contienen una expresión dada.
grep [opciones] expresión [ficheros]
☛ Blancos y caracteres especiales necesitan ’.
☛ Condición inversa con el parámetro -v.
☛ Otras condiciones:
❐ ˆ denota principio de lı́nea.
❐ $ denota fin de lı́nea.
❐ . denota cualquier caracter.
☛ Admite rangos de caracteres [A-D].
Félix Sánchez
C.I.C.A.
Seminario sobre grep
2
Ejemplos:
grep Maria Pepe.text
grep ˆ1995 fechas.dat
grep ’[Mm]anolo’ telef.tel
grep ’simple cosa’ texto.tex
ls -lg | grep ’\.tex’
grep pepe *.dat
datos2.dat: pepe estaba sentado en la silla
datos2.dat: Al lado de pepe iba yo
datos3.dat: 4582900 pepe almoguera, calle...
Félix Sánchez
C.I.C.A.
Seminario sobre grep
3
fgrep
☛ Sólo usa cadenas fijas.
☛ No usa caracteres especiales.
☛ Puede tomar las expresiones de un fichero.
❐ Cada expresión en una sóla lı́nea.
❐ Se pueden usar lı́neas de continuación con el caracter \.
Félix Sánchez
C.I.C.A.
Seminario sobre grep
4
egrep
☛ Permite hacer casos en la búsqueda.
☛ Los patrones de búsqueda alternativos se separan con el
caracter |. Se denominan alternation.
☛ Una alternation debe estar encerrada por paréntesis.
☛ Dado que los paréntesis son caracteres especiales para el
shell, hay que encerrarlos por ’.
☛ Ejemplo:
egrep ’(pepe|juan)’fich.dat
☛ Se puede intercalar una alternation en un patrón más
amplio:
egrep ’soy (pepe|juan) perez’ fich.dat
Félix Sánchez
C.I.C.A.
Seminario sobre grep
5
Opciones de la familia
-v
Invierte las condiciones de búsqueda: las lı́neas
que no contienen la expresión dada.
-x
Muestra solamente las lı́neas que encajan con la
expesión exactamente (solo válida con fgrep).
-c
Muestra el contador de las lı́neas identificadas.
-l
Muestra solamente una vez los nombres de los
ficheros con lı́neas identificadas, separados por
una lı́nea blanca.
-n
Muestra lı́neas con su número.
-b
Precede la lı́nea identificada con el número de
bloque en que se ha encontrado. Sólo es útil para
trabajar “a bajo nivel” (con localizadores del disco).
Félix Sánchez
C.I.C.A.
Seminario sobre grep
6
Opciones de la familia(cont.)
-i
No difiere entre mayúsculas o minúsculas. No es
válida con egrep.
-s
No muestra las lı́neas, es decir trabaja en silencio.
Útil en procedimientos de comandos, en conjunto
con el control de estatus.
-w
Busca la expresión como si se tratase de una sola
palabra. Es sólo válida con grep.
-e
Emplea el primer argumento como expresión de
búsqueda, es decir, no añade nada nuevo, salvo
cuando la expresión comienza con el caracter “-”.
-f
Toma la(s) expresión(es) del fichero que se le pasa
como primer argumento. Sólo con egrep o fgrep.
Félix Sánchez
C.I.C.A.
Seminario sobre grep
7
find
find / -name core -atime +7 -exec rm {} \;
☛ Revisa una estructura de directorios, buscando un fichero.
☛ Los ficheros cumplen alguna condición dada.
☛ Sobre los ficheros encontrados se ejecuta una acción (de
find) dada.
☛ Hay dos posibles acciones de find sobre los ficheros:
❐ Ejecutar un comando del shell.
❐ Mostrar el nombre completo (relativo al búsqueda) del
mismo.
☛ La evalución de parámetros de find es left-to-right, por lo
que la accón a ejecutar debe ser posterior a las condiciones.
Félix Sánchez
C.I.C.A.
Seminario sobre grep
8
Parámetros de find
-name fichero
Verdad si el nombre de fichero se encuentra en el directorio de búsqueda.
Son válidos la mayorı́a de los caracteres
de expansión de nombres de ficheros,
siempre que se escapen con \.
-perm octal
Verdad si los permisos de acceso al
fichero son idénticos al valor octal que
se da como argumento.
-type c
Verdad si el tipo de fichero dado es igual
al tipo dado. El valor de c puede ser: d
para directorio, f para fichero normal, l
si es un link, etc.
Félix Sánchez
C.I.C.A.
Seminario sobre grep
9
Parámetros de find(cont.)
-user usuario
Verdad si el usuario dado como argumento es el mismo que el propietario del
fichero: numérico o username.
-group grupo
Verdad si el fichero está a nombre de uno
de los componentes del grupo.
-newer fichero
Verdad si el fichero de argumento es mas
viejo que el dado como argumento.
-size tamaño
Verdad si el fichero tiene el tamaño especificado. El tamaño son 512K.
-mtime dı́as
Verdad si el fichero ha sido alterado en
el número de dı́as dado.
-atime dı́as
Verdad si el fichero no ha sido accedido
en los últimos dı́as.
Félix Sánchez
C.I.C.A.
Seminario sobre grep
10
Parámetros de find, acciones
-exec comd
Verdad si el comando del shell pasado
como argumento devuelve un código de
estatus cero. El final del comando debe
ser el caracter “;”. Los argumentos del
comando se encierran entre los caracteres “{” y “}”.
-ok commando
Igual que el anterior, pero muestra el
comando en pantalla, y toma la posible
entrada que necesite de ahı́. Puede usarse con editores, etc. El comando espera
para ser ejecutado.
-print
Es siempre verdad. Su única acción es
mostrar el nombre del fichero, con el
path en pantalla.
Félix Sánchez
C.I.C.A.
Descargar