In questo tutorial impareremo-
- Cos'è un pipe in Linux?
- comandi "pg" e "more"
- Il comando "grep"
- Il comando "sort"
- Cos'è un filtro?
Cos'è un pipe in Linux?
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 combinare due o più comandi contemporaneamente e ad eseguirli consecutivamente. È possibile utilizzare comandi potenti che possono eseguire attività complesse in un batter d'occhio.
Cerchiamo di capirlo con un esempio.
Quando si utilizza il comando "cat" per visualizzare un file che si estende su più pagine, il prompt salta rapidamente all'ultima pagina del file e non si vede 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 renderebbe chiaro.
Fare clic qui se il video non è accessibile
comandi "pg" e "more"
Invece di "less", puoi anche usare.
cat Filename | pg
o
cat Filename | more
Inoltre, puoi visualizzare il file in bit digeribili e scorrere verso il basso semplicemente premendo il tasto Invio.
Il comando "grep"
Supponiamo di voler cercare una particolare informazione nel codice postale da un file di testo.
Puoi scorrere manualmente il contenuto da solo 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 -
Qui, il comando grep ha cercato nel file "sample", per la stringa "Apple" e "Eat".
Le seguenti opzioni possono essere utilizzate con questo comando.
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 di corrispondenza e il suo numero |
-io | Abbina entrambe le maiuscole (maiuscole e minuscole) |
-l | Mostra solo il nome del file con la stringa |
Proviamo la prima opzione '-i' sullo stesso file utilizzato sopra -
Utilizzando l'opzione "i", grep ha filtrato la stringa "a" (senza distinzione tra maiuscole e minuscole) da tutte le righe.
Il comando "sort"
Questo comando aiuta a ordinare alfabeticamente il contenuto di un file.
La sintassi per questo comando è:
sort Filename
Considera il contenuto di un file.
Utilizzando il comando di ordinamento
Esistono anche estensioni per questo comando e sono elencate di seguito.
Opzione |
Funzione |
---|---|
-r |
Inverte lo smistamento |
-n |
Ordina numericamente |
-f |
Ordinamento senza distinzione tra maiuscole e minuscole |
L'esempio seguente mostra l'ordinamento inverso dei contenuti nel file "abc".
Cos'è un filtro?
Linux ha molti comandi di filtro come awk, grep, sed, spell e wc. Un filtro prende l'input da un comando, esegue alcune elaborazioni e fornisce l'output.
Quando conduci due comandi, l'output "filtrato" del primo comando viene assegnato al successivo.
Comprendiamolo con l'aiuto di un esempio.
Abbiamo il seguente file "campione"
Vogliamo evidenziare solo le righe che non contengono il carattere "a", ma il risultato dovrebbe essere in ordine inverso.
Per questo, è possibile utilizzare la seguente sintassi.
cat sample | grep -v a | sort - r
Guardiamo il risultato.
Sommario:
- Tubi "|" invia l'output di un comando come input di un altro comando.
- Il filtro prende l'input da un comando, esegue alcune elaborazioni e fornisce l'output.
- Il comando grep può essere utilizzato per trovare stringhe e valori in un documento di testo
- Il piping attraverso grep deve essere uno degli usi più comuni
- Il comando "sort" ordina alfabeticamente il contenuto di un file
- I comandi less, pg e more vengono utilizzati per dividere un file lungo in bit leggibili