grep command unix with simple examples
domande e risposte all'intervista per ingegneri addetti all'assicurazione della qualità
Impara il comando Grep in Unix con esempi pratici:
Il comando Grep in Unix / Linux è la forma abbreviata di 'ricerca globale per l'espressione regolare'.
Il comando grep è un filtro utilizzato per cercare le righe che corrispondono a un modello specificato e stampare le righe corrispondenti sullo standard output.
Comando Grep in Unix con esempi
Sintassi:
grep (options) (pattern) (file)
Il modello viene specificato come espressione regolare. Un'espressione regolare è una stringa di caratteri utilizzata per specificare una regola di corrispondenza del modello. I caratteri speciali vengono utilizzati per definire le regole e le posizioni di corrispondenza.
# 1) Personaggi di ancoraggio: '^' E '$' all'inizio e alla fine del motivo vengono utilizzati per ancorare il motivo rispettivamente all'inizio e alla fine della riga.
Esempio: '^ Name' corrisponde a tutte le righe che iniziano con la stringa 'Name'. Le stringhe '' vengono utilizzate per ancorare il modello rispettivamente all'inizio e alla fine di una parola.
# 2) Carattere jolly: '.' Viene utilizzato per abbinare qualsiasi carattere.
Esempio: '^. $ 'Corrisponderà a tutte le righe con un singolo carattere.
# 3) Caratteri sfuggiti: Qualsiasi carattere speciale può essere abbinato a un carattere normale facendo l'escape con ''.
Esempio: ' $ *' Corrisponderà alle righe che contengono la stringa '$ *'
# 4) Gamma di caratteri: Un insieme di caratteri racchiuso in una coppia '(' e ')' specifica un intervallo di caratteri da abbinare.
Esempio: '(Aeiou)' corrisponderà a tutte le righe che contengono una vocale. È possibile utilizzare un trattino durante la specifica di un intervallo per abbreviare un insieme di caratteri consecutivi. Per esempio. '(0-9)' corrisponderà a tutte le righe che contengono una cifra. Un carato può essere utilizzato all'inizio dell'intervallo per specificare un intervallo negativo. Per esempio. '(^ Xyz)' corrisponderà a tutte le righe che non contengono x, yo z.
# 5) Modifica ripetizione: Un '*' dopo un carattere o un gruppo di caratteri viene utilizzato per consentire la corrispondenza di zero o più istanze del modello precedente.
Il comando grep supporta una serie di opzioni per controlli aggiuntivi sulla corrispondenza:
- -i: esegue una ricerca senza distinzione tra maiuscole e minuscole.
- -n: visualizza le righe che contengono il motivo insieme ai numeri di riga.
- -v: visualizza le righe che non contengono il modello specificato.
- -c: visualizza il conteggio dei modelli corrispondenti.
Esempi:
- Trova tutte le righe che iniziano con 'ciao'. Per esempio: 'Ciao'
$ grep “^hello” file1
- Abbina tutte le righe che terminano con 'fatto'. Per esempio: 'molto bene'
$ grep “done$” file1
- Trova tutte le righe che contengono una delle lettere 'a', 'b', 'c', 'd' o 'e'.
$ grep “(a-e)” file1
- Trova la corrispondenza di tutte le righe che non contengono una vocale
$ grep “(^aeiou)” file1
- Trova la corrispondenza di tutte le righe che iniziano con una cifra che segue zero o più spazi. Per esempio: '1.' o '2.'
$ grep “ *(0-9)” file1
- Trova la corrispondenza di tutte le righe che contengono la parola ciao in maiuscolo o minuscolo
$ grep -i “hello”
Conclusione
Sono sicuro che questo tutorial ti avrebbe aiutato a comprendere bene cosa è il comando grep in Unix e come viene utilizzato in varie condizioni.
Lettura consigliata
- Comando Taglia in Unix con esempi
- Sintassi dei comandi Cat Unix, opzioni con esempi
- Comando Ls in Unix con esempi
- Comando di ordinamento Unix con sintassi, opzioni ed esempi
- Comando Tar in Unix per creare backup (esempi)
- Comando Trova in Unix: trova file con Unix Trova file (esempi)
- Comandi di elaborazione del testo Unix: filtri Unix con esempi
- Comandi Unix: comandi Unix di base e avanzati con esempi