Latest web development tutorials

comando grep Linux

Linux comando Daquan Linux comando Daquan

comando grep Linux é usado para localizar arquivos que correspondem a cadeia de critérios.

comando grep é usado para encontrar o conteúdo que contém o arquivo de estilo modelo especificado, se você encontrar o conteúdo de um arquivo está em conformidade com o estilo de modelo especificado, o comando grep padrão que irá conter as colunas de modelo de estilo exibidos. Se não especificar qualquer nome de arquivo, nome do arquivo, ou dado "-" o comando grep irá ler os dados do dispositivo de entrada padrão.

gramática

grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

parâmetros:

  • -a não --text ignorar ou dados binários.
  • -A <Exibir colunas> ou --após-context = <exibir colunas> Além de exibir a linha na linha de fora do estilo de modelo, e exibe o conteúdo da coluna posterior.
  • -b ou --byte-offset antes de exibir a linha em linha com os estilos de modelo, e identificar o número da linha da primeira posição de caractere.
  • -B <Exibir colunas> ou --before-context = <exibir colunas> Além de exibir a linha na linha de fora do estilo de modelo, e exibe o conteúdo da coluna antes.
  • -c ou --count calculado, de acordo com o número de estilos de modelo colunas.
  • -c <Exibir colunas> ou --context = <colunas de exibição> ou <-> exibir colunas Além de exibir a linha na linha de fora do estilo de modelo e exibe o conteúdo da coluna antes depois.
  • -d <opera> ou --directories = <opera> Quando você quiser encontrar o arquivo especificado é um diretório em vez disso, você deve usar este parâmetro, caso contrário, o comando grep vai retornar informações e parar a ação.
  • -e <style template> ou --regexp = <style template> Procurar o conteúdo do arquivo como modelo de estilo cadeia especificada.
  • -E Ou --extended-regexp o estilo de modelo para estender a notação geral usado.
  • -f <modelo de arquivo> ou --file = <arquivo de modelo> Especifica o arquivo de modelo, o conteúdo dos quais contêm um ou mais estilos de modelo, de modo grep para encontrar arquivos de modelo de conteúdo que atendam as condições do formato de cada coluna de um estilo de modelo.
  • -F Ou --fixed-regexp será tratada como uma lista estilo de modelo de cordas fixas.
  • -G Ou --basic-regexp será tratado como notação estilo de modelo comum de usar.
  • -H ou --no-filename antes de exibir a linha em linha com os estilos de modelo, não indicam o nome da coluna de arquivo pertence.
  • -H Ou --with-filename antes de exibir a linha em linha com os estilos do modelo, nome do arquivo indica que a coluna pertence.
  • Diferença -i ou --ignore-case ignorar maiúsculas e minúsculas.
  • -l ou --file-com-partidas lista o conteúdo dos documentos que correspondem aos nomes de arquivo de estilo modelo especificado.
  • -l Ou o conteúdo do arquivo lista --files-sem-jogo não coincidem com os nomes de arquivo de estilo modelo especificado.
  • -n ou --line-número antes de exibir a linha de acordo com o modelo de estilo, marcar o número de colunas de número da coluna.
  • -q ou --quiet ou não --silent exibir qualquer informação.
  • Efeitos e especificar -r ou --recursive este parâmetro é o mesmo que o parâmetro "recurse -d".
  • -s ou --no-mensagens não exibe uma mensagem de erro.
  • -v ou --revert-match pesquisa inversa.
  • -V Ou --version informações sobre a versão de exibição.
  • -w ou exibe --word-regexp apenas colunas de correspondência de palavra inteira.
  • -x ou exibir --line-regexp somente as linhas que correspondem a coluna inteira.
  • -y efeito deste parâmetro e especificar "-i" os mesmos parâmetros.
  • --help ajuda online.

Linux comando Daquan Linux comando Daquan

Exemplos

1, no diretório atual, encontrar sufixo tem "teste" palavra arquivo contém o arquivo de "teste" string, e imprimir a linha da corda. Neste caso, você pode usar o seguinte comando:

grep test *file 

Os resultados são os seguintes:

$ 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, de forma recursiva encontrar arquivos qualificados. Por exemplo, para encontrar o especificado diretório / etc / acpi e seus subdiretórios (se houver um subdiretório, então) todos os arquivos que contêm o arquivo string "update", e imprimir o conteúdo da cadeia da linha, o comando usado é:

grep -r update /etc/acpi 

A saída é a seguinte:

$ 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, de pesquisa inversa. Cada um dos exemplos anteriores é encontrar e imprimir as linhas qualificadas pelo parâmetro "-v" pode imprimir o conteúdo não cumprir as condições da linha.

Encontre a linha que contém o nome do arquivo não está incluído no teste do teste, desta vez, o comando é:

grep -v test*

Os resultados são os seguintes:

$ 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.