comando grep Linux
comando grep Linux è utilizzato per trovare i file che corrispondono alla stringa criteri.
comando grep viene utilizzato per trovare i contenuti che contiene il file di stile modello specificato, se si trova il contenuto di un file è conforme allo stile modello specificato, il comando grep di default che conterrà le colonne modello di stile visualizzate. Se non specifichi qualsiasi nome di file, il nome del file o data "-" il comando grep leggerà i dati dal dispositivo di input standard.
grammatica
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
parametri:
- -a non --text ignorare o dati binari.
- -A <> Visualizzare le colonne o --Dopo-context = <Mostra Colonne> Oltre a visualizzare la riga nella linea esterna del modello di stile, e visualizza il contenuto della colonna successiva.
- -b o --byte-offset prima di visualizzare la riga, in linea con gli stili di modello, e identificare il numero di riga della prima posizione del carattere.
- -B <> Visualizzare le colonne o --Prima-context = <Mostra Colonne> Oltre a visualizzare la riga nella linea esterna del modello di stile, e visualizza il contenuto della colonna prima.
- -c o --count calcolate in linea con il numero di stili colonne template.
- -c <Visualizzare le colonne> o <= --context colonne di visualizzazione> o <- Mostra Colonne> Oltre a visualizzare la riga nella linea esterna del modello di stile, e visualizza il contenuto della colonna prima dopo.
- -d <opera> o --directories = <opera> Quando si vuole trovare il file specificato è una directory, invece, è necessario utilizzare questo parametro, altrimenti il comando grep tornerà informazioni e fermare l'azione.
- -e <modello di stile> o --regexp = <style template> Trova il contenuto del file come modello di stile stringa specificata.
- -E O --extended-regexp stile template per estendere la notazione generale utilizzato.
- -f <template file> o --file = <file di modello> Specifica il file di modello, il cui contenuto contiene uno o più stili di template, in modo grep per trovare i file di modello di contenuto che soddisfano le condizioni del formato per ogni colonna uno stile template.
- -F O --fixed-regexp saranno trattati come un elenco modello di stile di stringhe fisse.
- -G O --basic-regexp saranno trattati come normale notazione stile modello da utilizzare.
- -h o --no-filename prima di visualizzare la riga, in linea con gli stili di modello, non indicano il nome del file della colonna appartiene.
- -H O with-file prima di visualizzare la riga, in linea con gli stili di modello, il nome del file indica che la colonna appartiene.
- Differenza -i o --ignore caso ignorano caso carattere.
- -l o --file-con-match elenca il contenuto dei documenti che corrispondono ai nomi dei file template in stile specificati.
- -L O --files-senza-partita contenuto del file elenco non corrispondono i nomi di file template in stile specificati.
- -n o --line numero prima di visualizzare la riga, in linea con il modello di stile, segnare il numero di colonne numero della colonna.
- -q o --quiet o no --silent visualizzare alcuna informazione.
- Effetti e specificare -r o --recursive questo parametro è lo stesso di parametro "-d recurse".
- -s o --no-messaggi non visualizza un messaggio di errore.
- -v o di ricerca inversa --revert-partita.
- -V O --version mostra informazioni sulla versione.
- -w o visualizza --word-regexp solo le colonne di corrispondenza di parole intere.
- -x o visualizzare --line-regexp solo le righe che corrispondono l'intera colonna.
- effetto -y di questo parametro e specificare "-i" gli stessi parametri.
- --help guida in linea.
Esempi
1, nella directory corrente, trovare il suffisso hanno "test" file di Word contiene il file "test" stringa, e stampare la linea della stringa. In questo caso, è possibile utilizzare il seguente comando:
grep test *file
I risultati sono i seguenti:
$ grep test test* #查找后缀有“test”的文件包含“test”字符串的文件 testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行 testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行 testfile_2:Linux test #列出testfile_2 文件中包含test字符的行
2, in modo ricorsivo trovare i file qualificati. Ad esempio, per trovare la directory / etc / acpi specificato e le sue sottodirectory (se vi è una sottodirectory, quindi) tutti i file che contengono il file di stringa "aggiornamento", e stampare il contenuto della stringa di linea, il comando utilizzato è:
grep -r update /etc/acpi
L'uscita è il seguente:
$ grep-r update /etc/acpi #以递归的方式查找“etc/acpi” #下包含“update”的文件 /etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.) Rather than /etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.) Rather than /etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys--update
3, ricerca inversa. Ciascuno degli esempi precedenti è quello di trovare e stampare le righe di qualificazione con il parametro "-v" può stampare il contenuto non soddisfano le condizioni della linea.
Trovare la riga che contiene il nome di file non è incluso nel test del test, questa volta, il comando è:
grep -v test*
I risultati sono i seguenti:
$ grep-v test* #查找文件名中包含test 的文件中不包含test 的行 testfile1:helLinux! testfile1:Linis a free Unix-type operating system. testfile1:Lin testfile_1:HELLO LINUX! testfile_1:LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM. testfile_1:THIS IS A LINUX TESTFILE! testfile_2:HELLO LINUX! testfile_2:Linux is a free unix-type opterating system.