grep
Processamento de texto
Uso
grep -rn '[pattern]' [path]Seleciona as linhas que casam com um padrão; por padrão usa regex básica, então + ? | e () precisam de -E ou de barra invertida.
Opções comuns
| Opção | Significado |
|---|---|
| -i | Ignore case |
| -r | Search a whole directory tree; -R also follows symlinks |
| -n | Print the line number of each hit |
| -v | Invert: print the lines that do not match |
| -l | Print only the names of the files that matched |
| -w | Match whole words only |
| -E | Extended regex, so + ? | and () work unescaped |
| -C | Print N lines of context around each hit |
Exemplos
grep -rn 'TODO' src/Every TODO in the tree, with file and line.
grep -v '^#' nginx.confDrops the comment lines.
ps aux | grep '[n]ginx'Finds nginx without matching the grep itself.
Foram feitos para serem encadeados com pipes. Três comandos ligados costumam ser mais curtos que um que faça tudo.
Como ler
- Os colchetes [ ] marcam uma parte que você pode omitir.
- As reticências … indicam que você pode listar vários.
- As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.
Perguntas
Q. O que grep faz?
Seleciona as linhas que casam com um padrão; por padrão usa regex básica, então + ? | e () precisam de -E ou de barra invertida.
Q. Como se digita?
grep -rn '[pattern]' [path] — os colchetes marcam o que você pode omitir.
Q. Quantas opções vale a pena saber?
Aqui estão 8; a lista completa está em man grep. Este comando fica em Processamento de texto.
Comandos relacionados
página man: man grep