Filtrat bàsic amb grep

Un dels comandaments que més ús en la terminal és grep, Inclusivament més que cd o ls.

grep té moltes opcions i brinda dissimilis possibilitats, però jo faig servir la forma més convencional possible, però comencem explicant Què és grep?

grep simplement és un filtre, és una ordre que mostra línies que concordin amb el filtre que hàgim declarat.

Per exemple, en el nostre sistema tenim l'arxiu / Usr / share / doc / bash / FAQ i el contingut d'aquest fitxer és:

Veure contingut de l'arxiu

Si volen llistar a la terminal el contingut amb la comanda gat (Sí cat, com gat jeje) ho poden fer:

cat /usr/share/doc/bash/FAQ

Ara, suposem que només desitgem llistar la línia d'aquest arxiu que parla de la versió, per això fem servir grep:

cat /usr/share/doc/bash/FAQ | grep version

Posant això a la terminal només els mostrarà la línia que contingui «versió» en aquest arxiu, no mostrarà més cap línia que no contingui aquesta paraula.

Què passaria si vull mostrar tot excepte la línia de la versió?

O sigui, de la manera que els vaig explicar es mostraria tot el que coincideixi amb el filtre, ara els mostraré com fer perquè es mostri tot excepte el que coincideixi amb el filtre:

cat /usr/share/doc/bash/FAQ | grep -v version

¿Noten la diferència? ... simplement afegint -v ja fa la diferència 😀

O sigui si posen grep només només els mostrarà el que coincideixi amb el filtre, però si posen grep -v els mostrarà tot excepte el de l'filtre.

Bé aquí acaba el post, simplement un altre tip que ara potser ho puguin menysprear però ... no tenen ni idea útil que pot resultar grep, és de debò XNUMX:XNUMX salva vides 😀

Salutacions


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   dmoz va dir

    Sens dubte una ordre molt versàtil, una vegada que aprens a manejar et facilita la vida =) ...

  2.   SCALIBUR va dir

    Bones! .. ..realmente una ordre de gran utilidad..en el meu cas l'utilitzo bastant ..

    Un exemple simple seria, per exemple, dpkg -l | grep 'paquet' (en cas de distros basades en debian), serveix per saber si tenim aquest paquet instal·lat.

    Boníssim donar-los aquestes eines a tota la nostra comunitat 😉

    1.    KZKG ^ Gaara va dir

      Moltes gràcies 😀
      En efecte, grep és tan poderós com la nostra imaginació jajajaja, ell unit a awk (i cut) aconsegueixen de debò meravelles * - *

      Posaré parell de tips més per a treball en terminal en breu 😉
      Salutacions i gràcies pel teu comentari.

      PD: Interessant el teu email LOL !!

  3.   hexborg va dir

    Molt bo !! Sí. Certament grep és un dels programes salvavides per qualsevol a qui li agradi fer servir la terminal. Només un parell de puntualitzacions: En realitat no necessites per a res fer servir la comanda cat. Es pot posar el nom de el fitxer com a paràmetre de grep així:

    grep versio / usr / share / doc / bash / FAQ

    A més, tot i que no es pogués, sempre quedaria l'opció de redirigir l'entrada de la comanda fent alguna cosa com això:

    grep versio </ usr / share / doc / bash / FAQ

    Això últim es pot fer amb qualsevol ordre, així que mai és necessari usar cat per enviar un fitxer a l'entrada d'un comando.

    Usar una redirecció en comptes de cat fa que el shell llanci un procés menys, amb el que consumeix menys recursos. No és una diferència apreciable, però es considera bona pràctica.

    D'altra banda, grep es torna realment útil quan es fan servir expressions regulars ... Si volgués col·laborar fent un post sobre expressions regulars, que hauria de fer? ¿N'hi ha prou amb afegir una nova entrada des de l'escriptori de wordpress?

    1.    KZKG ^ Gaara va dir

      Oh interessant, sempre em vaig acostumar a usar-lo amb cat jajajaja, gràcies pel tip 😀

      1.    Hugo va dir

        Amb grep també es poden fer filtrats una mica menys bàsics, per exemple:

        grep -B3 -A3 -E -i --color=auto -n "(desde|hacia)?linux(\.)?$" ~/miarchivo.txt

        Això bàsicament mostra les línies que contenen el terme que busquem (que pot estar en qualsevol combinació de majúscules i minúscules), més les tres línies anteriors i les tres posteriors, ressalta els resultats en un color diferent, posa números de línia als resultats i permet l'habilitació d'expressions regulars esteses que en aquest cas permeten cercar a «miarchivo.txt» totes les línies que acabin amb desdelinux, capalinux o linux a seques (amb punt final o sense).

        Per cert, les expressions regulars ofereixen molta flexibilitat i tot bon «friki» apassionat pel programari lliure hauria d'aprendre a usar-les, jeje.

  4.   Dragnell va dir

    També és possible utilitzar zgrep per comprimits en .ta.gz resulta molt útil quan volem revisar logs antics. Salutacions

  5.   jhon va dir

    hola. gràcies pel post. em passa que utilitzar el grep, no es posa de color la paraula que escric en les línies que em apareixen. (Generalment és així) [exemple: grep gat arxiu.txt]
    apareixen les línies i el gat, però el gat no es posa d'algun color per distingir-
    (En les ccompus de la meva uni si que es veu)
    saps com podria activar aquesta opció?
    porfa si pots respondre'mi. el meu mail és sps-003@hotmail.com

    1.    FDY nb va dir

      amic ha d'escriure gat entre cometes 'gat' o també «gat» seguit del nom de l'arxiu on ho vol buscar

  6.   enrique va dir

    Hola amic, portes tota la raó, tens un gran sentit de la utilitat. D'ara endavant, grep el poso el primer a la meva llista de comandes favorits.
    salutacions

  7.   scanjura va dir

    I com seria per mostrar empleats filtrats per salari?