13 mayo, 2008

RegEx

Si ponemos un punto, se puede sustituir por una sola letra.

CHIL. CHILE, CHILI, CHILO

Si ponemos un *, va a ser sustituido por 0 o màs repeticiones del caracter que lo precede

AP*LE ALE, APLE, APPLE, APPPLE

Si ponemos un corchete, la expresion podrá contener los caracteres que estén indicado dentro del corchete una sola vez.

[Cc] hicken Chicken, chicken

es possible indicar un rango de caracteres entre los corchetes, que serán las que se busquen dentro de la cadena regular

sustituiremos dentro de la expression regular cualquier letra que esté contenida en ese rango

[a-z A-z] hicken ahicken, bhicken, chicken, dhicken ….

Ahicken, Bhicken, Chicken, Dhicken ….

Si queremos indicar que queremos hacer una busqueda al comienzo de una linea irá precedida por ^.

^Buf busca dentro de todas las lineas solo las 4 primeras letras en que coincida con las letras Buf

Si la hacemos al final, se coloca como ultimo caracter un $

Sonp$ al final de cada linea las letras sonp en las últimas 4 posiciones

Las expresiones regulares se usan normalmente con greep.

$ grep `chicken' receta.txt todas las lineas del fichero en las que aparezca chicken

$ grep `chicken' * En cualquiera de los ficheros del subdirectorio actual

$ grep `eh.*se' recetas.txt con el punto cualquier caracter unico, con el * 0 o n repeticiones todo lo que empieze por ch y acabe por se.

$ grep `^\.D[SE]$' fichero.txt cualquier cosa que sea .D o .dse al comienzo o al final.

$ file * | grep -v text eliminariamos todos los ficheros que no fueran de texto

$ grep -l `hola' * buscar en todoss los ficherso del subdirectorio, los que contentga la palabra hola y muestra el nombre del fichero donde aparezca.

EGREP

Expresiones regulares de forma extendida.

Los parametros son iguales que el grep, pero los reconoce de manera más exacata y precisa.

FGREP

No es posible usar expresiones regulares, siempre hay que usar expresiones fijas

Permite realizar operaciones de búsqueda múltiple. Permite expresar varias palabras al mismo tiempo, cosa que con lo de antes es imposible

/ Fgrep primerapalabra+intro

Se pone el prompt secundario

*

palabra2
*

palabra3

Para acabar se pone el nombre del fichero a buscar y luego Ctrl + D

*

fichero
*

Ctrl + D

Se puede indicar introduciendo las palabras a buscar en un fichero (en distintas lineas)

/ fgrep -f palabras.dat ficherobusqueda

Hacer los ejercicios del grep (incluyen expresiones regulares con corchete) con egrep

Sobre el listado del subdirectorio /usr localice los subdirectorios de los miembros de cada grupo.

Nombres.dat nombres de login

CUT

Permite recortar las columnas o caracteres delimitadas por algun carácter de marca de columnas.

La sintaxis es:

$ cut [-opc] file/s

las opciones son:

*

-c indicamos que lo que se desea es cortar exclusivamente columnas que en principio estarán separadas por comas.
*

-f indicamos que lo que se desea recortar son campos, por lo tanto, el fichero deberá estar formateado con respecto a informaciones que se estructuren en el formato de registro subdividido en campos. Un ejemplo:
o

ofertas
o

especialidades

a continuación del -f iran los numeros de columna que para cada fila del fichero se quisieran recortar. La forma de indicar columnas es igual que en la orden sort, a diferencia, que en este caso no es necesario precisar el tipo de columna.

-f 1 -5 Cortaria desde la 1 hasta la 5 inclusive

-f 1 5 solo la una y la 5

*

-d indicamos el carácter separador de campo
+

-d :

Por ejemplo:

Queremos cortar la 1,3 y 5 del agenda.new

Put -d: -f 1 -3,5 agenda.new

Sustituir los : por el carácter tabulacion

$ cut -d: -f 2 -4 agenda.new | sed `s/:/^t/g'

Publicar un comentario