Filtraggio di base con grep

Uno dei comandi che uso di più nel terminale è grep, anche più di cd o ls.

grep Ha molte opzioni e offre possibilità diverse, tuttavia io uso il modo più convenzionale possibile, ma iniziamo spiegando Cos'è grep?

grep è semplicemente un filtro, è un comando che mostra le righe che corrispondono al filtro che abbiamo dichiarato.

Ad esempio, nel nostro sistema abbiamo il file / usr / share / doc / bash / FAQ e il contenuto di questo file è:

Visualizza il contenuto del file

Se vuoi elencare il contenuto nel terminale con il comando gatto (sì gatto, come il gatto hehe) possono farlo:

cat /usr/share/doc/bash/FAQ

Ora, supponiamo di voler elencare solo la riga di quel file che parla della versione, per questo usiamo grep:

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

Mettendolo nel terminale ti mostrerà solo la riga che contiene "versione" in quel file, non mostrerà più nessuna riga che non contiene quella parola.

E se volessi mostrare tutto tranne la riga della versione?

Cioè, nel modo in cui ti ho spiegato, verrebbe mostrato tutto ciò che corrisponde al filtro, ora ti mostrerò come far apparire tutto ad eccezione di cosa corrisponde al filtro:

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

Noti la differenza? ... semplicemente aggiungendo -v fa già la differenza 😀

Quindi se mettono grep ti mostrerà solo ciò che corrisponde al filtro, ma se metti grep -v ti mostrerà tutto tranne il filtro.

Ebbene qui finisce il post, solo un altro suggerimento che ora forse possono sminuirlo ma ... non hanno idea di quanto possa essere utile grep, è davvero un salvavita 😀

saluti


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   DMZ suddetto

    Indubbiamente un comando molto versatile, una volta imparato a gestirlo, ti semplifica la vita =) ...

  2.   Scalibur suddetto

    Ciao! .. ..davvero un utilissimo comando .. nel mio caso lo uso parecchio ..

    Un semplice esempio potrebbe essere, ad esempio, dpkg -l | grep 'pacchetto' (nel caso di distribuzioni basate su Debian), è usato per sapere se abbiamo quel pacchetto installato.

    Ottimo per dare questi strumenti a tutta la nostra comunità 😉

    1.    KZKG ^ Gaara suddetto

      Grazie mille 😀
      In effetti, grep è potente quanto la nostra immaginazione hahahaha, insieme a awk (e cut) realizzano davvero meraviglie * - *

      Metterò a breve un altro paio di suggerimenti per il lavoro sui terminali 😉
      Saluti e grazie per il tuo commento.

      PS: Interessante la tua email LOL !!

  3.   hexborg suddetto

    Molto buona!! Sì. Certamente grep è uno dei risparmiatori di vita per chi ama usare il terminale. Solo un paio di punti: non hai davvero bisogno di usare il comando cat. Puoi inserire il nome del file come parametro grep in questo modo:

    versione grep / usr / share / doc / bash / FAQ

    Inoltre, anche se non potesse, ci sarebbe sempre la possibilità di reindirizzare l'input del comando facendo qualcosa del genere:

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

    Quest'ultimo può essere fatto con qualsiasi comando, quindi non è mai necessario usare cat per inviare un file all'input di un comando.

    L'uso di un reindirizzamento al posto di cat fa sì che la shell avvii un processo in meno, consumando così meno risorse. Non è una differenza apprezzabile, ma è considerata una buona pratica.

    D'altra parte, grep diventa davvero utile quando si usano espressioni regolari ... Se volessi dare una mano scrivendo un post sulle espressioni regolari, cosa dovrei fare? È sufficiente aggiungere un nuovo post dal desktop di wordpress?

    1.    KZKG ^ Gaara suddetto

      Oh interessante, mi sono sempre abituato a usarlo con il gatto HAHAHAHA, grazie per il suggerimento 😀

      1.    Hugo suddetto

        Con grep puoi anche rendere i filtri un po 'meno semplici, ad esempio:

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

        Questo fondamentalmente mostra le righe che contengono il termine che stiamo cercando (che può essere in qualsiasi combinazione di maiuscole e minuscole), più le tre righe prima e le tre successive, evidenzia i risultati con un colore diverso, inserisce i numeri di riga sui risultati, e permette di abilitare espressioni regolari estese che in questo caso permettono di cercare in “myfile.txt” tutte le righe che terminano con desdelinux, verso Linux o Linux semplice (con o senza endpoint).

        A proposito, le espressioni regolari offrono molta flessibilità e ogni buon "disadattato" con la passione per il software libero dovrebbe imparare a usarle, hehe.

  4.   dragnell suddetto

    È anche possibile utilizzare zgrep per tablet in .ta.gz è molto utile quando vogliamo rivedere vecchi log. Saluti

  5.   Jhon suddetto

    Ciao. Grazie per il post. Mi capita che usando grep, la parola che scrivo nelle righe che appare non si colora. (generalmente è così) [esempio: grep cat file.txt]
    compaiono le linee e il gatto, ma il gatto non assume un certo colore per distinguerlo
    (nel computer della mia università se lo vedi)
    Sai come posso attivare questa opzione?
    Per favore, se puoi rispondermi. la mia email è sps-003@hotmail.com

    1.    fdy n.b suddetto

      un amico deve scrivere gatto tra virgolette "gatto" o anche "gatto" seguito dal nome del file in cui vuole cercarlo

  6.   enrique suddetto

    Ciao amico, hai perfettamente ragione, hai un grande senso di utilità. D'ora in poi, metto grep al primo posto nella mia lista di comandi preferiti.
    saluti

  7.   scanjura suddetto

    E come sarebbe mostrare i dipendenti filtrati per stipendio?