[ad_1]

grep apoia Pesquise globalmente por expressões regulares e imprima. É uma ferramenta de linha de comando usada nos sistemas UNIX e Linux para procurar um padrão especificado em um arquivo ou grupo de arquivos.

grep vem com muitas opções que nos permitem executar várias ações relacionadas à pesquisa em arquivos. Neste artigo, veremos como usar grep com as opções disponíveis, bem como expressões regulares básicas para pesquisar arquivos.

Como usar grep

Sem passar nenhuma opção, grep pode ser usado para procurar um padrão em um arquivo ou grupo de arquivos. A sintaxe é:

grep '' 

Observe que aspas simples ou duplas são necessárias ao redor do texto, se houver mais de uma palavra.

Você também pode usar o curinga (*) para selecionar todos os arquivos em um diretório.

O resultado disso são as ocorrências do padrão (pela linha encontrada) no (s) arquivo (s). Se não houver correspondência, nenhuma saída será impressa no terminal.

Por exemplo, digamos que temos os seguintes arquivos (chamados grep.txt):

Hello, how are youI am grepNice to meet you

Os seguintes grep O comando pesquisará todas as ocorrências da palavra ‘você’:

grep you grep.txt

O resultado para isso é:

Hello, how are youNice to meet you

you é esperado que tenha uma cor diferente do outro texto para identificar facilmente o que foi pesquisado.

Mas grep vem com mais opções que nos ajudam a obter mais durante uma operação de pesquisa. Vejamos nove deles enquanto os aplicamos ao exemplo acima.

Opções usadas com grep

1 -n (- número da linha) – lista os números de linha

Isso imprime as correspondências para o texto junto com os números de linha. Se você olhar para o resultado que temos acima, notará que não há números de linha, apenas as correspondências.

grep you grep.txt -n

Resultado:

1: Hello, how are you3: Nice to meet you

2) -c (–count) – imprime o número de linhas de correspondências

grep you grep.txt -c

Resultado:

2

Observe que se houvesse outro ‘você’ na linha um, opção -c ainda imprimiria 2. Isso ocorre porque se refere ao número de linhas em que as correspondências aparecem, não ao número de correspondências.

3) -v (–invert-match) – imprime as linhas que não correspondem ao padrão especificado

grep you grep.txt -v -n

Resultado:

2. I am grep

Observe que também usamos a opção -n? Sim, você pode aplicar várias opções em um comando.

4) -i (–ignore-case) – usado para insensibilidade a maiúsculas e minúsculas

# command 1grep You grep.txt# command 2grep YoU grep.txt -i

Resultados:

# result 1# no result# result 2Hello, how are youNice to meet you

5) -l (- arquivos com correspondências) – imprime nomes de arquivos que correspondem a um padrão

# command 1grep you grep.txt -l# command 2grep You grep.txt -i -l

Resultados:

# result 1grep.txt# result 2# all files in the current directory that matches# the text 'You' case insensitively
#### 6. `-w` (--word-regexp) - print matches of the whole word

Por padrão, grep corresponde a cadeias que contêm o padrão especificado. Isso significa que grep yo grep.txt imprimirá os mesmos resultados que grep yo grep.txt porque ‘yo’ pode ser encontrado em você. Da mesma forma, ‘ou’.

Com a opção -w, grep garante que as correspondências sejam exatamente o mesmo padrão especificado. Exemplo:

grep yo grep.txt -w

Resultado:

Nenhum resultado!

7) -o (–compatível apenas) – imprime apenas o padrão correspondente

Por padrão, grep imprime a linha onde o padrão correspondente é encontrado. Com opção -o, apenas o padrão correspondente é impresso linha por linha. Exemplo:

grep yo grep.txt -o

Resultado:

yo

8) -A (- pós-contexto) e -B (–before-context) – imprime as linhas antes e antes (respectivamente) do padrão correspondente

grep grep grep.txt -A 1 -B 1

Resultado:

Hello, how are youI am grepNice to meet you

Esse padrão correspondente está na linha 2. -A 1 significa uma linha após a linha correspondente e -B 1 significa uma linha antes da linha correspondente.

Há também um -C (–context) que é igual a -A + -B. O valor passado para -C seria usado para -A e -B.

9 -R (–dereference-recursive) – pesquisa recursiva

Por padrão, grep não pode procurar diretórios. Se você tentar fazer isso, receberá um erro (“É um diretório”). Com opção -R, é possível pesquisar arquivos em diretórios e subdiretórios. Exemplo:

grep you .

Resultado:

# 'you' matches in a folders# and files starting from the# current directory

Expressões regulares para padrões

grep também permite expressões regulares básicas para especificar padrões. Dois deles são:

1 ^pattern – início de uma linha

Esse padrão significa que o grep corresponderá às seqüências cujas linhas começam com a sequência especificada após ^. Exemplo:

grep ^I grep.txt -n

Resultado:

2: I

2) pattern$ – fim de uma linha

Em contraste com ^, $ especifica padrões que serão correspondidos se a linha terminar com a sequência antes $. Exemplo:

grep you$ grep.txt

Resultado:

1: Hello, how are you3: Nice to meet you

Embrulhar

grep é uma ferramenta poderosa para pesquisar arquivos no terminal. A compreensão de como usá-lo permite encontrar arquivos facilmente através do terminal.

Há mais opções anexadas a esta ferramenta. Você pode encontrar com man grep.

[ad_2]

Fonte