Excluindo caminhos no grep

1

Não consigo encontrar nenhuma documentação que lide com isso: existe alguma maneira de impedir que o grep imprima o caminho para o arquivo de uma linha correspondente ao pesquisar em vários arquivos?

    
por SegFaults McGee 29.09.2011 / 10:09

2 respostas

5

Em man grep :

-h, --no-filename
Suppress the prefixing of filenames on output when multiple files are searched.

Uso:

grep -h 'search term' multiple files

Exemplo:

$ grep network apache2 svnserve sudo 
apache2:# Required-Start:    $local_fs $remote_fs $network $syslog $named
apache2:# Required-Stop:     $local_fs $remote_fs $network $syslog $named
svnserve:# Required-Start:    $network $remote_fs $syslog
svnserve:# Required-Stop:     $network $remote_fs $syslog
$ grep -h network apache2 svnserve sudo
# Required-Start:    $local_fs $remote_fs $network $syslog $named
# Required-Stop:     $local_fs $remote_fs $network $syslog $named
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:     $network $remote_fs $syslog
    
por 29.09.2011 / 10:32
0

existem 2 opções para o grep que podem ajudá-lo aqui

  • - exclude , aqui você pode fornecer diretamente nomes de arquivos / caminhos para excluídos usando caracteres curinga (& escapar do caractere curinga realmente necessário)

    exemplo: grep a ./* --exclude = *. log

  • - exclude-from , aqui você pode fornecer um nome de arquivo contendo as strings a serem correspondidas e excluídas

Estou usando o GNU grep 2.5.4 , caso ele não esteja disponível na sua versão do grep.

    
por 29.09.2011 / 10:47

Tags