El shell de linux: Comando grep

Este contenido sólo se encuentra disponible para miembros premium.
Si deseas hacerte premium, envíanos un mail a registro@algodelinux.com y te informaremos.
This Article Has 25 Comments
  1. Francisco

    exlente me sirvio de mucho gracias 😀

  2. Miguel Ortiz

    Están bien las explicaciones pero el uso de egrep y fgrep es obsoleto.

    Saludos.

  3. Esteban M. Navas

    Hola, Miguel. No sé lo que quieres decir, pero me da la impresión de que hay algo que no has entendido sobre grep.

    egrep está en desuso. En su lugar debe utilizarse grep -E.
    Así mismo fgrep también está en desuso y en su lugar debe utilizarse grep -F.

    Pero eso no quiere decir que no puedas usar las opciones equivalentes con el comando grep que sigue estando en uso y todas sus opciones son muy útiles.

  4. Miguel Ortiz

    Esteban, hacía referencia a:

    ("-E nos permite usar expresiones regulares. Equivalente a usar egrep.")

    No dije que no se pudiera usar grep -E, más bien aclarar que ya no se usa egrep.

    Saludos.

  5. Esteban M. Navas

    Ok. No había entendido lo que querías decir.

  6. rb34

    Gracias, justo lo que buscaba…

  7. Anónimo

    muy útil asias

  8. Aaron

    Eso ni es importante… Lo importante es que si uno busca "a*" no son las palabras que comienzen con a, son las palabras que CONTENGAN a, Tremendo error!! y en el primer ejemplo!!

  9. Antonio Castro

    Buenas tardes, quería hacerle una consulta. Esto es si se ejecuta desde el Terminal de Linux pero en el caso que yo lo quiera hacer desde un script .sh ¿cómo sería la llamada al ifconfig y el uso del grep?

  10. Esteban M. Navas

    Hola, Aaron. No es necesario que escribas en mayúsculas. Como ya sabes, eso significa gritar. Tampoco es tan tremendo el error… Este blog era tan sólo para mí, pero decidí dejarlo público, por si a alguien más le era útil. Si no te gusta, nadie te obliga a consultarlo.

    A veces cuando he escrito algo en el blog ha sido a partir de notas en papel de algo que había probado y después de mucho tiempo, con lo que se me ha colado alguna errata.

    En cualquier caso, te agradezco tu aportación. Queda corregida la errata para que el ejemplo refleje la búsqueda de palabras que comienzan por "a". Cuando escribí el artículo, me equivoqué a la hora de redactarlo. Lo que tenía escrito en papel era buscar las líneas que comiencen por "a", claro que también se me pasó escribir el símbolo de comienzo al transcribir desde papel.

  11. Esteban M. Navas

    Hola, Antonio. Los comando que ejecutas en un terminal puedes usarlos también dentro de un script, de la misma forma.

  12. Ariel

    Hola, Muchachos, estoy queriendo hacer un scrip en bash para manejar un texto.txt estoy usando el sed pero este me corta lineas, necesito si hay algun comando para que me corte el texto. por ejemplo en el primer punto (.)
    gracias

  13. Esteban M. Navas

    No sé qué es lo que necesitas exactamente, pero supongo que te refieres al comando cut:

    http://algodelinux.com/index.php/2008/02/el-shell-de-linux-comando-cut.html

    Por ejemplo:

    # cut -f1 -d"."

  14. Anónimo

    Se puede guardar el contenido mostrado por el comando GREP en una variable para ser usado despues?

  15. Esteban M. Navas

    Sí. Puedes guardar el resultado de ejecutar un grep en una variable.

  16. Albano

    Que bueno, Muy bien explicado, muchas gracias.

  17. Anónimo

    Excelente, tras mucho buscar aquí he encontrado muy bien explicado el comando con la opción -E, me quito el sombrero.
    Muchas gracias.

  18. Milton Padilla

    Gracias por tan excelente post me ha sido de mucha ayuda.

  19. Anónimo

    hola. muy bueno. una pregunta
    y si es un grep recursivo en lugar de un archivo a una carpeta con subcarpetas y archivos, y todo lo que hay dentro… cómo sería
    ejemplo:
    Extraer la lista de direcciones de correo electrónico de un archivo:
    grep -Eior '[a-z0-9._-]+@[a-z0-9.-]+[a-z]{2,4}' carpeta (con muchas subcarpetas y archivos)
    o
    cd carpeta
    egrep -oir '[a-z0-9._-]+@[a-z0-9.-]+[a-z]{2,4}' *
    o cómo???
    gracias

  20. Barquisimeto

    "grep -v", de lo mas útil que pueda haber a la hora de revisar un archivo de configuración.

  21. Andrea R

    Necesito hacer un grep asi
    ls -lrt | grep "Apr 28 " pero que el valor de busqueda este contenido en una variable , quedaria de esta manera ls -lrt | grep $fecha el problema es que genera el siguiente error:
    ls -lrt | grep $fecha3
    grep: 0652-033 Cannot open 28.
    grep: 0652-033 Cannot open ".

    Solo funciona si el valor de la variable no tiene espacios 🙁 , este es el valor de la variable, ya lo probe sin comillas y tampoco sirve

    echo $fecha3
    "Apr 28 "

    Agradezco su ayuda si alguien sabe como lo puedo hacer, gracias.

  22. Esteban M. Navas Martín

    Hola, Andrea. Lo que tienes que hacer es poner la variable entre comillas:
    ls -lrt | grep "$fecha3"

  23. Times

    ¿Como puedo usar grep para que al listar el contenido de /proc me aparezcan todas las que no terminan en numero?
    Muchas gracias

  24. Esteban M. Navas Martín

    No sé exactamente lo que quieres obtener pero podría ser así:
    ls /proc/ | grep -E "*[a-zA-Z]+$"

  25. Anónimo

    muy bien explicado, gracias.