2021-10-09 22:58:58 -03:00
# grep
> Acha padrões em arquivos usando expressões regulares.
> Mais informações: <https://www.gnu.org/software/grep/manual/grep.html>.
- Pesquisa por um padrão em um arquivo:
`grep "{{padrão_pesquisado}}" {{caminho/para/arquivo}}`
- Pesquisa por uma string exata (desabilita expressões regulares):
2025-03-14 09:18:28 +02:00
`grep {{[-F|--fixed-strings]}} "{{string_exata}}" {{caminho/para/arquivo}}`
2021-10-09 22:58:58 -03:00
- Pesquisa por um padrão em todos os arquivos recursivamente em um diretório, mostrando o número das linhas das correspondências, ignorando arquivos binários:
2025-07-07 05:37:30 +02:00
`grep {{[-rnI|--recursive --line-number --binary-files=without-match]}} "{{padrão_pesquisado}}" {{caminho/para/diretório}}`
2021-10-09 22:58:58 -03:00
- Usa expressões regulares estendidas (suporta `?` , `+` , `{}` , `()` and `|` ), no modo insensível a maiúsculas e minúsculas:
2025-07-07 05:37:30 +02:00
`grep {{[-Ei|--extended-regexp --ignore-case]}} "{{padrão_pesquisado}}" {{caminho/para/arquivo}}`
2021-10-09 22:58:58 -03:00
- Imprime 3 linhas de contexto em volta, antes ou depois de cada correspondência:
2025-07-07 05:37:30 +02:00
`grep {{--context|--before-context|--after-context}} 3 "{{padrão_pesquisado}}" {{caminho/para/arquivo}}`
2021-10-09 22:58:58 -03:00
- Imprime o nome do arquivo e o número da linha para cada correspondência:
2025-07-07 05:37:30 +02:00
`grep {{[-Hn|--with-filename --line-number]}} --color=always "{{padrão_pesquisado}}" {{caminho/para/arquivo}}`
2021-10-09 22:58:58 -03:00
- Pesquisa por linhas que correspondem a um padrão, imprimindo apenas o texto correspondido:
2025-03-14 09:18:28 +02:00
`grep {{[-o|--only-matching]}} "{{padrão_pesquisado}}" {{caminho/para/arquivo}}`
2021-10-09 22:58:58 -03:00
2023-07-02 06:12:01 -07:00
- Pesquisa `stdin` para linhas que não correspondem a um padrão:
2021-10-09 22:58:58 -03:00
2025-03-14 09:18:28 +02:00
`cat {{caminho/para/arquivo}} | grep {{[-v|--invert-match]}} "{{padrão_pesquisado}}"`