Grep

Grep é uma ferramenta de linha de comando que é usada para pesquisar padrões de texto em arquivos. Pode ser usado para encontrar texto em um arquivo, ou para encontrar texto em vários arquivos. Grep também pode ser usado para encontrar texto em um diretório, ou para encontrar texto em múltiplos diretórios. Como se dá o grep a um ficheiro? Grepear um arquivo significa procurar no arquivo por uma seqüência específica de texto. O comando grep é usado para este propósito. Por exemplo, para procurar um arquivo chamado "file.txt" para a string "Olá", você usaria o seguinte comando:

grep Olá arquivo.txt

Isto pesquisaria o arquivo "file.txt" por quaisquer linhas que contenham a string "Olá". O que são os padrões do grep? Um padrão grep é um padrão de pesquisa de texto que pode ser usado com o comando grep para pesquisar texto em ficheiros.

Como é que você grep múltiplas coisas?

Se você quer procurar por múltiplas coisas usando o grep, você pode fazer isso usando a bandeira -e seguida pelos padrões que você quer procurar, como este:

grep -e pattern1 -e pattern2 ficheiro

Isto irá procurar por pattern1 OU pattern2 no ficheiro. Se você quiser procurar por pattern1 E pattern2, você pode usar a bandeira -E assim:

grep -E 'pattern1.*pattern2|pattern2.*pattern1' ficheiro

Isto irá procurar por pattern1 seguido por pattern2 OU pattern2 seguido por pattern1 no ficheiro.

Como é que o grep corresponde exactamente?

No contexto do grep, uma correspondência exata é uma correspondência que não é uma correspondência parcial. Em outras palavras, é uma correspondência que ocorre quando o padrão do grep corresponde a toda a cadeia de entrada, ao invés de apenas uma parte dela.

Para especificar que o grep deve realizar uma correspondência exata, você pode usar a opção -x. Por exemplo, o seguinte comando só retornará linhas que coincidam exatamente com o padrão "foo":

grep -x foo file.txt

Se você quiser executar uma correspondência exata não sensível a maiúsculas e minúsculas, você pode usar as opções -i e -x juntas:
grep -ix foo file.txt

Como posso usar o grep para encontrar palavras?

O grep é um utilitário de linha de comando para procurar padrões em arquivos de texto. Para usar o grep, você fornece um padrão de busca e um ou mais arquivos para pesquisar. O grep irá então imprimir quaisquer linhas dos ficheiros de entrada que correspondam ao padrão de pesquisa.

Por exemplo, suponha que você tenha um arquivo de texto chamado "foo.txt" que contenha as seguintes linhas:

Olá mundo

Isto é um teste

Para procurar pela palavra "mundo" em "foo.txt", você usaria o seguinte comando:
"grep "world" foo.txt"
Isto imprimiria a seguinte linha:
Olá mundo

Se quiseres procurar por várias palavras, podes usar a opção -w para especificar que cada palavra deve ser igualada exactamente. Por exemplo, o seguinte comando pesquisaria as palavras "Olá" e "mundo" em "foo.txt":
grep -w "Olá mundo" foo.txt

Isto imprimiria a seguinte linha:

Olá mundo

Você também pode usar expressões regulares com grep. Por exemplo, o seguinte comando procuraria por quaisquer linhas que contenham a palavra "Olá" seguido de qualquer número de caracteres, seguido da palavra "mundo":
"Olá.* mundo" foo.txt

Isto imprimiria a seguinte linha:
Olá mundo

Para mais informações sobre como usar o grep, veja a página do grep man.