Latest web development tutorials

comando grep Linux

Linux comando Daquan Linux comando Daquan

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.

Linux comando Daquan Linux comando Daquan

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.