Comando grep y expresiones regulares

  • Published on
    13-Jun-2015

  • View
    224

  • Download
    3

Embed Size (px)

DESCRIPTION

comando grep - linux

Transcript

  • 1. Comando grep yExpresiones RegularesProf. Pablo Macnpablomacon@gmail.comhttp://soii-its.blogspot.com

2. Comando grepUna de las funciones elementales que debesatisfacer una base de datos es permitirconsultar los datos guardados en ella.El comando que nos va a permitir efectuarbsquedas dentro de nuestros archivos detexto ser: grep 3. Comando grepEs un filtro que se aplica a la entradaestndar y que tiene como resultadomostrar en la salida estndar la o las lneasque coinciden con la o las expresionesmarcadas. Esas expresiones pueden sersimples palabras o patrones complejos 4. Comando grepSintaxis:grep [-opciones] PATRN [archivo/s]Ejemplo sencillo:grep usuario /etc/passwd 5. Comando grepTambin podemos combinarloconcatenndolo a otros comandos:cat /etc/passwd | grep usuariols /bin | grep am 6. Comando grepOpciones:-e permite introducir varios patrones debsquedagrep e garcia e flores usuariosgrep e lopez e 2005 discos 7. Comando grepOpciones:-i ignora distincin entre maysculas yminsculas (ignore case)grep i garcia usuariosTrae las lneas que contienen Garcia GARCIAgarcia GArcia, pero no Garca por qu? 8. Comando grepOpciones:-v muestra las lneas que no coincidencon el patrn buscadogrep v garcia usuariosTrae las lneas que NO contienen garcia 9. Comando grepOpciones:-w busca coincidencias de palabrascompletasgrep w garcia usuariosTrae las lneas que contienen garcia perono si contiene garcias 10. Comando grepOpciones:-q modo silencioso, no muestra nada enla salida estndarpara qu puede servir entonces? 11. Comando grepOpciones:-q modo silencioso, no muestra nada enla salida estndarPor ejemplo para utilizarlo como condicinen un if y que no muestre lo que estoybuscando 12. Comando grepOpciones:-q modo silencioso, no muestra nada enla salida estndarif grep q usuario /etc/passwdthen echo usuario autorizadoelse echo usuario no autorizado 13. EXPRESIONES REGULARES 14. Expresiones regularesSon patrones regulares que permitenbuscar cosas que tienen una formadeterminada pero que no siempre es igual:Direcciones de e-mail, cdulas de identidadQu ejemplos se les ocurren? 15. Expresiones regularesPor ejemplo las direcciones de e-mail sepueden descomponer de:Una serie de caracteres que puedenincluir, letras, nmeros y algunossmbolos especiales + @ + otroscaracteres + . +com/gub/edu/tv/us/fr/uy 16. Expresiones regularesPor ejemplo las ip se componen de:Un nmero del 0 al 255 + . +un nmero del 0 al 255 + . +un nmero del 0 al 255 + . +un nmero del 0 al 255 17. Expresiones regularesNuestro trabajo es encontrar esasregularidades que luego nos van asimplificar las cosas, porque si queremosbuscar todos los usuarios que tienen cdulacmo podramos hacerlo si no es conexpresiones regulares? 18. EXPRESIONES REGULARES - REGLAS 19. Expresiones regulares - reglas1 - uno o varios caracteres cualquiera,encerrados en comillas simples van a tenercomo resultado de la bsqueda a esosmismos caracteres en el mismo ordengrep pablo /etc/passwd 20. Expresiones regulares - reglas2 un . (punto) significa cualquier carcter,pero solo uno. Es como el ? que utilizamoscon lsgrep .ash /etc/passwd 21. Expresiones regulares - reglas3 los corchetes (parntesis rectos) seusan para encerrar un rango de caractereso varios caracteres diferentes, pero solo uncarcter por vez:grep 100[0-9] /etc/passwd 22. Expresiones regulares - reglas4 ^ es la negacin, va a traer las lneasque no contengan los caracteres que lesiguengrep alo[^n]so /etc/passwd 23. Expresiones regulares - reglas5 las llaves encierran el nmero deveces que se repite el/los caracteresanteriores, si son varios caracterestenemos que agruparlos con parntesisgrep iE ([0-9a-f][0-9a-f]:){5}([0-9a-f][0-9a-f]) regex 24. Expresiones regulares - reglas 6 los smbolos de menor y mayor nossirven para delimitar la palabra < para inicio de palabra > para fin de palabra Pero necesitamos poner ladelante deellos 25. Expresiones regulares - reglas 6 los smbolos de menor y mayor nossirven para delimitar la palabra As para buscar las palabras de 4 letrasmnimo y 5 mximo ponemos:grep iE /etc/passwd 26. Expresiones regulares - reglasLas cdulas de los usuariosgrep E [0-9]{6-7}-[0-9] usuariosuna direccin ipgrep E ([0-9]{1,3}.){3}([0-9]{3})usuarios