Como correr grep em python

Como correr grep em python

Você já pensou em procurar uma string nos arquivos de uma pasta? Você provavelmente está familiarizado com o comando grep se você é um usuário do Linux. Você pode criar seu comando usando a programação Python para procurar um padrão de string nos arquivos especificados. O aplicativo também permite procurar padrões utilizando expressões regulares.

Usando o Python no Windows, você pode simplesmente pesquisar seqüências de texto de arquivos em uma pasta específica. O comando Grep está disponível no Linux; No entanto, não está presente no Windows. A única outra opção é escrever um comando para encontrar a string.

Este artigo ensinará como usar a ferramenta Grep e depois usar expressões regulares para realizar pesquisas mais avançadas. Existem também alguns exemplos de python grep para ajudá -lo a aprender a usá -lo.

O que é grep?

Um dos comandos mais benéficos é o comando Grep. Grep é uma ferramenta útil da linha de comando que nos permite usar expressões regulares para pesquisar arquivos de texto simples para linhas especificadas. Em Python, expressões regulares (re) são comumente usadas para determinar se uma string corresponde a um padrão específico. Expressões regulares são totalmente suportadas pelo pacote RE do Python. O módulo re joga o RE.Exceção de erro quando ocorre um erro ao usar expressões regulares.

O termo grep significa que você pode usar o grep para ver se os dados que ele obtém corresponde a um padrão que você especifica. Este programa aparentemente inócuo é altamente poderoso; Sua capacidade de classificar a entrada de acordo com regras sofisticadas é um componente comum em muitas correntes de comando.

Os utilitários Grep são um grupo de programas de busca de arquivos que compõem Grep, Egrep e FGREP. Devido à sua rapidez e capacidade de apenas olhar para strings e palavras, o FGREP é suficiente para a maioria dos casos de uso. Por outro lado, digitar grep é simples e pode ser usado por qualquer pessoa.

Exemplo 1:

Quando você usa o Grep em Python para pesquisar um arquivo, ele procurará uma expressão regular global e produzirá a linha se encontrar uma. Para Python Grep, siga as diretrizes abaixo.

O primeiro passo é usar a função Open () no Python. Como o nome diz, a função Open () é usada com o objetivo de abrir um arquivo. Em seguida, usando o arquivo, escreva o conteúdo dentro do arquivo e, para isso, write () é uma função usada para escrever texto. Depois disso, você pode salvar o arquivo com o nome que você gosta.

Agora, crie um padrão. Digamos que desejemos pesquisar um arquivo para o termo “café.”Precisamos examinar essa palavra -chave, então usaremos a função Open () para abrir o arquivo.

Para comparar uma string ao lado de uma expressão regular, você pode usar o RE.Função de pesquisa (). Usando um padrão de expressão regular e uma string, o RE.o método de pesquisa () procura um padrão de expressão regular em uma string. O método de pesquisa () retornará um objeto de correspondência se a pesquisa for bem -sucedida.

Importar o módulo RE no topo do código para lidar com expressões regulares em r. Imprimiremos a linha inteira se ela detectar uma correspondência usando uma expressão regular. Por exemplo, estamos procurando a palavra "café" e, se for encontrado, ele a imprimirá. Todo o código pode ser encontrado abaixo.

importar re
file_one = aberto ("new_file.txt "," w ")
file_one.Escreva ("Coffee \ Nupase")
file_one.fechar()
patn = "café"
file_one = aberto ("new_file.txt "," r ")
para word em file_one:
se re.Pesquisar (patn, palavra):
impressão (palavra)

Aqui você pode ver que a palavra "café" está impressa na saída.

Exemplo 2:

Ligue para abrir (localização do arquivo, modo) usando a localização do arquivo e o modo como "r" para abrir um arquivo para leitura no código a seguir. Primeiro importamos o módulo RE e depois abrimos o arquivo dando o nome e o modo do arquivo.

Estamos usando um loop for, atravesse as linhas no arquivo. Use a instrução IF se re.Pesquise (padrão, linha) para procurar uma expressão ou string regular, com o padrão sendo a expressão ou string regular para procurar e a linha é a linha atual no arquivo.

importar re
file_one = aberto ("demonstração.txt "," w ")
file_one.Write ("Primeira linha de texto \ NSECOND LINHA DE TEXTO \ ÚNDA LINHA DE TEXTO")
file_one.fechar()
patn = "segundo"
file_one = aberto ("demonstração.txt "," r ")
para linha em file_one:
se re.Pesquisar (Patrn, Linha):
impressão (linha)

Aqui, a linha completa é impressa onde o padrão é encontrado.

Exemplo 3:

Expressões regulares podem ser tratadas com o pacote RE do Python. Tentaremos executar o Grep em Python e examinar um arquivo para um padrão definido no código dado abaixo. Usamos o modo de leitura para abrir o arquivo apropriado e percorrer a linha por linha. Então nós usamos o RE.Método de pesquisa () para encontrar o padrão necessário em cada linha. A linha é impressa se o padrão for detectado.

importar re
com open ("demonstração.txt "," r ") como file_one:
patn = "segundo"
para linha em file_one:
se re.Pesquisar (Patrn, Linha):
impressão (linha)

Aqui está a saída, que mostra claramente que o padrão é encontrado no arquivo.

Exemplo 4:

Há outra maneira brilhante de fazer isso com Python através da linha de comando. Este método emprega a linha de comando para especificar a expressão regular e o arquivo a ser pesquisado, e não esqueça o terminal para executar o arquivo. Isso nos permite reproduzir com precisão o grep em python. Isso é feito com o código abaixo.

importar re
Importar sistemas
Com o Open (SYS.argv [2], "r") como file_one:
para linha em file_one:
se re.Pesquisar (sys.argv [1], linha):
impressão (linha)

A função argv () do módulo SYS gera uma sequência contendo todos os argumentos fornecidos à linha de comando. Podemos salvá -lo pelo nome de Grep.PY e execute um script python específico do shell com os argumentos subsequentes.

Conclusão:

Para pesquisar um arquivo empregando Grep em Python, importe o pacote "RE", faça o upload do arquivo e use um loop for para iterar sobre cada linha. Em cada iteração, use o RE.Método de Search () e a expressão Regex como o argumento primário e a linha de dados como o segundo. Passamos o tópico em detalhes com vários exemplos neste artigo.