GNU/Linux >> Linux Esercitazione >  >> Linux

Esempi di comandi fgrep in Linux

Esistono 3 diverse forme del famoso comando grep. L'elenco seguente distingue anche tra i loro casi d'uso.

  • fgrep :esegue una ricerca rapida di modelli semplici. Utilizzare questo comando per individuare rapidamente i pattern senza caratteri jolly, utili durante la ricerca di una parola normale.
  • grep :ricerca con pattern utilizzando normali espressioni regolari.
  • egrep :ricerche con pattern utilizzando espressioni regolari estese più potenti.

fgrep (fast grep) cerca in uno o più file le righe che corrispondono alla stringa di testo specificata. Lo stato di uscita è 0 se alcune righe corrispondono, 1 in caso contrario e 2 per errori. fgrep è più veloce delle normali ricerche grep ma meno flessibile:può trovare solo testo fisso, non espressioni regolari.

Il comando fgrep è proprio come grep, ma invece di accettare un'espressione regolare, accetta un elenco di stringhe fisse, separate da nuove righe. È lo stesso di grep -F. Ad esempio, se hai un file dizionario pieno di stringhe, una per riga:

# cat my_dictionary_file
aardvark
aback
abandon
...

puoi cercare comodamente quelle stringhe in una serie di file di input:

# fgrep -f my_dictionary_file inputfile1 inputfile2

Normalmente, utilizzerai l'opzione -f minuscola per fare in modo che fgrep legga le stringhe fisse da un file. Puoi anche leggere le stringhe fisse sulla riga di comando usando le virgolette, ma è un po' più complicato. Per cercare le stringhe uno, due e tre in un file, devi digitare:

# fgrep 'one             ### Note we are typing newline characters
two
three' myfile

fgrep è utile quando si cercano caratteri non alfanumerici come * e { perché sono presi alla lettera, non come caratteri di espressioni regolari.

Esempi di comando fgrep

1. Per interpretare PATTERN come un'espressione regolare estesa:

# fgrep --extended-regexp PATTERN
# fgrep -E PATTERN 

2. Per interpretare PATTERN come un elenco di stringhe fisse:

# fgrep -F PATTERN
# fgrep --fixed-strings PATTERN 

3. Per interpretare PATTERN come un'espressione regolare di base:

# fgrep -G PATTERN
# fgrep --basic-regexp PATTERN 

4. Per interpretare PATTERN come un'espressione regolare Perl:

# fgrep -P PATTERN
# fgrep --perl-regexp PATTERN 

5. Per utilizzare PATTERN come modello:

# fgrep -e PATTERN, 
# fgrep --regexp=PATTERN

6. Per ottenere modelli da FILE, uno per riga:

# fgrep -f FILE, --file=FILE 

7. Per ignorare le distinzioni tra maiuscole e minuscole sia nel PATTERN che nei file di input:

# fgrep -i PATTERN
# fgrep --ignore-case PATTERN

8. Per invertire il senso di corrispondenza, per selezionare le righe non corrispondenti:

# fgrep -v PATTERN
# fgrep --invert-match PATTERN 

9. Per selezionare solo quelle righe contenenti corrispondenze che formano parole intere:

# fgrep -w PATTERN
# fgrep --word-regexp PATTERN 

10. Per selezionare solo quelle corrispondenze che corrispondono esattamente all'intera riga:

# fgrep -x PATTERN
# fgrep --line-regexp PATTERN 

11. Per ignorare il caso:

# fgrep -y PATTERN

12. Per sopprimere l'uscita normale; stampa invece un conteggio delle righe corrispondenti:

# fgrep -c PATTERN
# fgrep --count PATTERN

13. Per visualizzare a colori:

# fgrep --color PATTERN 

14. Per sopprimere l'uscita normale; stampa invece il nome di ogni file di input, da out non sarà previsto:

# fgrep -L PATTERN
# fgrep --files-without-match PATTERN

15. Per sopprimere l'uscita normale; stampa invece il nome di ogni file di input da cui sono stati stampati gli output:

# fgrep -l PATTERN
# fgrep --files-with-matches PATTERN 

16. Silenzio; non scrivere nulla sullo standard output Esci immediatamente con stato zero se viene trovata una corrispondenza:

# fgrep -q PATTERN
# fgrep --quiet PATTERN
# fgrep --silent PATTERN 

17. Per interrompere la lettura di un file dopo NUM righe corrispondenti:

# fgrep -m NUM PATTERN
# fgrep --max-count=NUM PATTERN

18. Per stampare solo le parti corrispondenti (non vuote) di una riga corrispondente:

# fgrep -o PATTERN
# fgrep --only-matching PATTERN

19. Per eliminare i messaggi di errore relativi a file inesistenti o illeggibili:

# fgrep -s PATTERN
# fgrep --no-messages PATTERN

20. Per stampare l'offset di byte in base 0 all'interno del file di input prima di ogni riga di output:

# fgrep -b PATTERN
# fgrep --byte-offset PATTERN 

21. Per stampare il nome del file per ogni corrispondenza:

# fgrep -H PATTERN
# fgrep --with-filename PATTERN 

22. Per eliminare il prefisso dei nomi di file sull'output:

# fgrep -h PATTERN
# fgrep --no-filename PATTERN 

23. Per visualizzare l'input effettivamente proveniente dallo standard input come input proveniente dal file LABEL:

# fgrep -cd PATTERN | fgrep --label=mysearch -H PATTERN 

24. Per anteporre a ciascuna riga di output il numero di riga in base 1 all'interno del relativo file di input:

# fgrep -n PATTERN
# fgrep --line-number PATTERN

25. Per assicurarsi che il primo carattere del contenuto effettivo della riga si trovi su un punto di tabulazione:

# fgrep -T PATTERN
# fgrep --initial-tab PATTERN 

26. Per segnalare gli offset dei byte in stile Unix:

# fgrep -u PATTERN
# fgrep --unix-byte-offsets PATTERN 

27. Per emettere uno zero byte invece del carattere che normalmente segue un nome di file:

# fgrep -Z PATTERN
# fgrep --null PATTERN 

28. Per stampare NUM righe di contesto finale dopo le righe corrispondenti:

# fgrep -A NUM PATTERN
# fgrep --after-context=NUM PATTERN

29. Per stampare NUM righe di contesto iniziale prima delle righe corrispondenti:

# fgrep -B NUM PATTERN
# fgrep --before-context=NUM PATTERN

30. Per stampare NUM righe di contesto di output:

# fgrep -C NUM PATTERN
# fgrep --context=NUM PATTERN

31. Per elaborare un file binario come se fosse testo:

# fgrep -a PATTERN /tmp/bin
# fgrep -text PATTERN /tmp/bin 

32. Per assumere che il file sia di tipo TYPE:

# fgrep --binary-files=TYPE PATTERN 

33. Se un file di input è un dispositivo, FIFO o socket, usa ACTION per elaborarlo:

# fgrep -D ACTION PATTERN
# fgrep --devices=ACTION PATTERN

34. Se un file di input è una directory, utilizzare ACTION per elaborarlo:

# fgrep -d ACTION PATTERN
# fgrep --directories=ACTION PATTERN 

35. Per saltare i file il cui nome di base corrisponde a GLOB:

# fgrep --exclude=GLOB PATTERN 

36. Per ignorare i file il cui nome di base corrisponde a uno qualsiasi dei glob di nomi file letti da FILE:

# fgrep --exclude-from=FILE PATTERN

37. Per escludere le directory che corrispondono al pattern DIR dalle ricerche ricorsive:

# fgrep --exclude-dir=DIR PATTERN 

38. Per elaborare un file binario come se non contenesse dati corrispondenti:

# fgrep -I PATTERN 

39. Per cercare solo i file il cui nome di base corrisponde a GLOB:

# fgrep --include=GLOB 

40. Per leggere tutti i file in ogni directory, ricorsivamente:

# fgrep -r PATTERN
# fgrep -R PATTERN 

41. Per utilizzare il buffer di riga sull'output:

# fgrep --line-buffered PATTERN 

42. Se possibile, usa la chiamata di sistema mmap per leggere l'input, invece della lettura predefinita:

# fgrep --mmap PATTERN 

43. Per trattare i file come binari:

# fgrep -U /tmp/file PATTERN
# fgrep --binary /tmp/file PATTERN 

44. Per trattare l'input come un insieme di righe:

# fgrep -z PATTERN
# fgrep --null-data PATTERN 

45. Per visualizzare la guida:

# fgrep -h 

46. ​​Per stampare il numero di versione di grep:

# fgrep -V 


Linux
  1. 7 Esempi di comandi Linux df

  2. Esempi di comandi rm in Linux

  3. ps Esempi di comandi in Linux

  4. sa Esempi di comandi in Linux

  5. w Esempi di comandi in Linux

9 Esempi di comandi tee in Linux

9 esempi di comandi diff in Linux

Comando IP Linux con esempi

15 Comando Linux ps con esempi

8 Esempi di comandi LDD in Linux

Esempi di comandi id in Linux