Comando Pipe, Grep e Ordina in Linux/Unix con esempi

Cos'è una pipe in Linux?

Il Pipe è un comando in Linux che consente di utilizzare due o più comandi in modo tale che l'output di un comando serva come input per il successivo. In breve, l'output di ogni processo direttamente come input per quello successivo come una pipeline. Il simbolo '|' denota una pipa.

I pipe ti aiutano a mash-up di due o più comandi contemporaneamente e ad eseguirli consecutivamente. Puoi usare comandi potenti che possono eseguire attività complesse in un batter d'occhio.

Cerchiamo di capirlo con un esempio.

Quando usi il comando 'cat' per visualizzare un file che si estende su più pagine, il prompt passa rapidamente all'ultima pagina del file e non vedi il contenuto al centro.

Per evitare ciò, puoi reindirizzare l'output del comando 'cat' a 'less' che ti mostrerà solo una lunghezza di scorrimento del contenuto alla volta.

cat filename | less 

Un'illustrazione lo chiarirebbe.

Cos'è una pipe in Linux

Clicchi qui se il video non è accessibile

comandi 'pg' e 'more'

Invece di "less", puoi anche usare.

cat Filename | pg 

or

cat Filename | more

Inoltre, puoi visualizzare il file in bit digeribili e scorrere verso il basso semplicemente premendo il tasto Invio.

comandi 'pg' e 'more'

Il comando "grep".

Supponiamo che tu voglia cercare una particolare informazione nel codice postale da un file di testo.

Puoi sfogliare manualmente il contenuto per rintracciare le informazioni. Un'opzione migliore è usare il comando grep. Eseguirà la scansione del documento per le informazioni desiderate e presenterà il risultato nel formato desiderato.

Sintassi:

grep search_string

Vediamolo in azione -

Il comando "grep".

Qui, grep Il comando ha cercato nel file "sample" la stringa "Apple" e "Eat".

Con questo comando è possibile utilizzare le seguenti opzioni.

Opzione Funzione
-v Mostra tutte le righe che non corrispondono alla stringa cercata
-c Visualizza solo il conteggio delle righe corrispondenti
-n Mostra la linea corrispondente e il suo numero
-i Corrisponde sia al maiuscolo che al minuscolo
-l Mostra solo il nome del file con la stringa

Proviamo la prima opzione '-io' sullo stesso file utilizzare sopra –

Utilizzando l'opzione 'i' grep ha filtrato la stringa 'a' (senza distinzione tra maiuscole e minuscole) da tutte le righe.

Il comando "grep".

Il comando "ordina".

Questo comando aiuta ordinare in ordine alfabetico il contenuto di un file.

La sintassi per questo comando è:

sort Filename

Consideriamo il contenuto di un file.

Il comando "ordina".

Usando il comando sort

Il comando "ordina".

Ci sono estensioni anche a questo comando e sono elencati di seguito.

Opzione Funzione
-r Revordinamento degli errori
-n Ordina numericamente
-f Ordinamento senza distinzione tra maiuscole e minuscole

L'esempio seguente mostra l'ordinamento inverso dei contenuti nel file 'abc'.

Il comando "ordina".

Cos'è un filtro?

Linux ha molti comandi di filtro come awk, grep, sed, spell e wc. Un filtro riceve input da un comando, esegue alcune elaborazioni e fornisce output.

Quando si convogliano due comandi, l'output "filtrato" del primo comando viene passato al successivo.

Cos'è un filtro

Capiamolo con l'aiuto di un esempio.

Abbiamo il seguente file 'campione'

Cos'è un filtro

Vogliamo evidenziare solo le righe che non contengono il carattere 'a', ma il risultato dovrebbe essere in ordine inverso.

Per farlo è possibile utilizzare la seguente sintassi.

cat sample | grep -v a | sort - r

Diamo un'occhiata al risultato.

Cos'è un filtro

Sommario:

  • Tubi '|' inviare l'output di un comando come input di un altro comando.
  • Il filtro riceve input da un comando, esegue alcune elaborazioni e fornisce output.
  • Il comando grep può essere utilizzato per trovare stringhe e valori in un documento di testo
  • Il collegamento tramite grep deve essere uno degli usi più comuni
  • Il comando 'sort' ordina il contenuto di un file in ordine alfabetico
  • I comandi less, pg e more vengono utilizzati per dividere un file lungo in bit leggibili