Il comando 'grep' sta per 'stampa espressione regolare globale' . Il comando grep filtra il contenuto di un file semplificando la nostra ricerca.
Si tratta di un'utilità da riga di comando per cercare nei gruppi di dati di testo semplice righe identiche a un'espressione regolare. Il nome 'presa' deriva dal comando, cioè ed, che contiene lo stesso effetto. Originariamente, grep è stato progettato per il sistema operativo Unix, ma è diventato disponibile in seguito per tutti i sistemi simili a Unix e per alcuni altri come OS 9.
Java lancia un'eccezione
Il filtro grep trova un file per un modello di carattere specifico e mostra ogni riga che include quel modello. I caratteri dovrebbero essere racchiusi tra virgolette se compaiono nel parametro pattern con un significato speciale per la shell. Di solito, dobbiamo racchiudere l'intero pattern tra virgolette se il parametro pattern non è una stringa comune.
In un'espressione come [a-z], il segno meno (-) cml descrive un intervallo basato sull'ordine di raccolta corrente. Un ordine di raccolta può specificare classi equivalenti negli intervalli di caratteri da utilizzare. Il comando grep presuppone stdin quando non viene menzionato alcun file.
Il modello è chiamato espressione regolare che si trova all'interno del file. Il modello è limitato alle espressioni regolari nel formato del comando egrep o ed. Il comando grep applica un solido algoritmo non deterministico. È utile quando dobbiamo filtrare file di registro di grandi dimensioni.
Breve storia del grep
Prima di essere intitolato, grep era un'utilità riservata specificata da Ken Thompson per trovare file per diversi modelli. Sconosciuto della sua esistenza, Doug Mcllroy ha chiesto a Thompson di specificare tale funzione. Rispondendo che da un giorno all'altro avrebbe pensato a una simile utilità. Thompson ha apportato miglioramenti e corretto le paludi per circa un'ora nel suo programma noto come 'S' (o cerca). Il giorno successivo ha presentato la funzione a Mcllroy, che ha detto che era proprio come voleva. Il racconto di Thompson potrebbe descrivere la convinzione che il comando grep sia stato specificato dall'oggi al domani.
Thompson ha specificato la versione iniziale in linguaggio assembly PDP-11 da supportare Lee E. McMohan controllare il testo dei Federalist Papers per decidere la paternità del singolo articolo. L'editor di testo ed supportava le espressioni regolari ma non poteva essere utilizzato su testi così grandi; Thompson ha copiato quel codice in uno strumento autonomo. Ha selezionato il nome dovuto a ed; il comando grep stamperebbe ogni riga come nel modello descritto. Innanzitutto, grep è stato aggiunto nella versione 4 di Unix, dicendo questo 'è generalmente citato come il prototipo dello strumento software' , Mcllroy ha approvato grep con il file 'irrevocabilmente radicato' filosofia degli strumenti di Thompson in Unix.
Implementazioni di grep
Una gamma di implementazioni grep è presente in diversi ambienti di sviluppo software e sistemi operativi. Le prime versioni includevano fgrep ed egrep, introdotte nella versione 7 di Unix. La versione egrep supporta la sintassi per un'espressione regolare estesa inclusa da Alfred Aho dopo l'implementazione originale dell'espressione regolare di Ken Thompson. La versione fgrep trova qualsiasi elenco di stringhe fisse con l'estensione Algoritmo di corrispondenza delle stringhe Aho-Corasick . Questi binari di versione sono disponibili nei sistemi moderni, connettendosi a grep o chiamando grep uno script di shell utilizzando il flag corretto aggiunto mentre generalmente vengono distribuiti sui sistemi POSIX.
Altri comandi includono il 'presa' parola per rappresentare stanno trovando strumenti, comunemente quelli che dipendono dalle corrispondenze delle espressioni regolari. Ad esempio, l'utilità, cioè 'pgrep' , mostra i processi i cui titoli sono gli stessi dell'espressione regolare fornita.
- Grep è il titolo della funzione integrata che cerca gli elementi all'interno di un elenco che coinvolgono una determinata proprietà nel file Perl linguaggio di programmazione.
- In genere, viene chiamata questa funzione di ordine superiore 'filtro' O 'Dove' in un'altra lingua.
- Il comando, cioè pcregrep , è un'implementazione grep che utilizza la sintassi per l'espressione regolare Perl. La stessa funzionalità può essere aggiunta alla versione grep GNU utilizzando il flag -P.
- Inoltre, le porte grep (ad esempio, in GnuWin32 E Cygwin ) eseguire su Microsoft Windows. Alcune versioni di Windows forniscono lo stesso comando findstr o qgrep.
- Inoltre, il comando grep fa parte degli strumenti ASCII di MSX-DOS2 per la versione 2 di MSX-DOS.
- I comandi fgrep, egrep e grep sono stati forniti al sistema operativo IBM i.
Il software Adobe InDesign dispone di funzioni GREP (a partire dall'edizione CS3) nella finestra di dialogo della scheda Modifica/Trova 'GREP' e specificate utilizzando CS4 nel 'Stili GREP' stili di paragrafo.
Come installare grep in Linux?
Grep è preinstallato in quasi tutte le distribuzioni di Linux. Tuttavia, nel caso, possiamo installarlo con il comando seguente nella finestra del terminale se manca dal nostro sistema:
$ sudo apt-get install grep
grep con la pipa
Java per i tipi di loop
Il comando 'grep' viene generalmente utilizzato con pipe (|) .
Sintassi:
command | grep
Esempio:
cat marks.txt | grep 9
Guarda l'istantanea sopra, il comando grep filtra tutti i dati contenenti '9'.
grep senza pipe
Può essere utilizzato anche senza tubo.
Sintassi:
zeri np
grep
Esempio:
grep 9 marks.txt
Guarda l'istantanea sopra, il comando grep fa lo stesso lavoro dell'esempio precedente ma senza pipe.
opzioni grep
Sintassi:
aprire il menu delle impostazioni
grep -v
Esempio:
grep -v 9 marks.txt
Guarda l'istantanea sopra, comando 'grep -v 9marks.txt' visualizza le righe che non contengono la parola di ricerca '9'.
Sintassi:
grep -i
Esempio:
grep -i red exm.txt
Guarda l'istantanea sopra, comando 'grep -i red exm.txt' visualizza tutte le righe contenenti 'rosso' sia in maiuscolo che in minuscolo.
grep -A viene utilizzato il comando per visualizzare il file riga dopo il risultato .
Il comando grep -B viene utilizzato per visualizzare il file riga prima del risultato .
Il comando grep -C viene utilizzato per visualizzare il file riga dopo e riga prima il risultato.
È possibile utilizzare (A1, A2, A3.....)(B1, B2, B3....)(C1, C2, C3....) per visualizzare un numero qualsiasi di righe.
Sintassi:
algoritmo di Kruskal
grep -A grep -B grep -C
Esempio:
grep -A1 yellow exm.txt grep -B1 yellow exm.txt grep -C1 yellow exm.txt
Guarda l'istantanea sopra, comando 'grep -A1 giallo exm.txt' visualizza la riga cercata con la riga successiva, comando 'grep -B1 giallo exm.txt' visualizza la riga cercata preceduta da una riga e da un comando 'grep -C1 giallo exm.txt' visualizza la riga cercata con una riga precedente e una successiva.