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

Riassumi questo post con: