Comment exécuter grep en python

Comment exécuter grep en python

Avez-vous déjà envisagé de chercher une chaîne dans les fichiers d'un dossier? Vous êtes probablement familier avec la commande grep si vous êtes un utilisateur Linux. Vous pouvez créer votre commande à l'aide de la programmation Python pour rechercher un modèle de chaîne dans les fichiers spécifiés. L'application vous permet également de rechercher des modèles en utilisant des expressions régulières.

En utilisant Python dans Windows, vous pouvez simplement rechercher des chaînes de texte à partir de fichiers dans un dossier spécifique. La commande grep est disponible sur Linux; Cependant, il n'est pas présent sur Windows. La seule autre option consiste à écrire une commande pour trouver la chaîne.

Cet article vous apprendra à utiliser l'outil GREP, puis utilisera des expressions régulières pour effectuer des recherches plus avancées. Il existe également quelques exemples de grep Python pour vous aider à apprendre à l'utiliser.

Qu'est-ce que Grep?

L'une des commandes les plus bénéfiques est la commande grep. Grep est un outil de ligne de commande utile qui nous permet d'utiliser des expressions régulières pour rechercher des fichiers texte brut pour les lignes spécifiées. Dans Python, les expressions régulières (RE) sont couramment utilisées pour déterminer si une chaîne correspond à un modèle spécifique. Les expressions régulières sont entièrement prises en charge par le package RE de Python. Le module re lance le re.Exception d'erreur lorsqu'une erreur se produit lors de l'utilisation d'expressions régulières.

Le terme grep signifie que vous pouvez utiliser le grep pour voir si les données qu'elles obtiennent correspondent à un modèle que vous spécifiez. Ce programme apparemment inoffensif est très puissant; Sa capacité à trier les entrées en fonction des règles sophistiquées est un composant commun dans de nombreuses chaînes de commandement.

Les utilitaires GREP sont un groupe de programmes de recherche de fichiers qui comprennent Grep, Egrep et FGREP. En raison de sa rapidité et de sa capacité à regarder simplement les chaînes et les mots, FGREP est suffisant pour la plupart des cas d'utilisation. D'un autre côté, la saisie du grep est simple et peut être utilisée par n'importe qui.

Exemple 1:

Lorsque vous utilisez Grep dans Python pour rechercher un fichier, il recherchera une expression régulière globalement et sortira la ligne si elle en trouve une. Pour Python Grep, suivez les directives ci-dessous.

La première étape consiste à utiliser la fonction Open () dans Python. Comme son nom le dit, la fonction Open () est utilisée dans le but d'ouvrir un fichier. Ensuite, à l'aide du fichier, écrivez le contenu dans le fichier, et pour cela, write () est une fonction qui est utilisée pour écrire du texte. Après cela, vous pouvez enregistrer le fichier avec le nom que vous aimez.

Maintenant, créez un modèle. Disons que nous souhaitons rechercher un fichier pour le terme «café."Nous devons examiner ce mot-clé, nous allons donc utiliser la fonction Open () pour ouvrir le fichier.

Pour comparer une chaîne à côté d'une expression régulière, vous pouvez utiliser le re.Fonction Search (). En utilisant un modèle d'expression régulière et une chaîne, le re.La méthode search () recherche un modèle d'expression régulière dans une chaîne. La méthode search () renvoie un objet de correspondance si la recherche réussit.

Importez le module RE en haut du code pour gérer les expressions régulières dans R. Nous imprimerons la ligne entière si elle détecte une correspondance en utilisant une expression régulière. Par exemple, nous recherchons le mot «café», et s'il est trouvé, il l'imprimera. L'ensemble du code peut être trouvé ci-dessous.

Importer RE
file_one = open ("new_file.txt "," w ")
file_one.écrire ("café \ nPlease")
file_one.fermer()
patn = "café"
file_one = open ("new_file.txt "," r ")
Pour Word dans File_one:
Si re.Recherche (Patn, Word):
imprimer (mot)

Ici, vous pouvez voir que le mot «café» est imprimé dans la sortie.

Exemple 2:

Appelez l'ouverture (emplacement du fichier, mode) à l'aide de l'emplacement et du mode du fichier comme «R» pour ouvrir un fichier pour la lecture dans le code suivant. Nous avons d'abord importé le module RE puis ouvert le fichier en donnant le nom et le mode du fichier.

Nous utilisons une boucle à boucle pour les lignes dans le fichier. Utilisez l'instruction if si re.Recherche (modèle, ligne) pour rechercher une expression ou une chaîne régulière, le modèle étant l'expression ou la chaîne régulière à rechercher et la ligne étant la ligne actuelle dans le fichier.

Importer RE
file_one = open ("démo.txt "," w ")
file_one.Écrire ("première ligne de texte \ nsecond Line of Text \ nthird Line of Text")
file_one.fermer()
patn = "second"
file_one = open ("démo.txt "," r ")
pour la ligne dans file_one:
Si re.Recherche (Patn, ligne):
Imprimer (ligne)

Ici, la ligne complète est imprimée où le motif est trouvé.

Exemple 3:

Les expressions régulières peuvent être manipulées avec le package RE de Python. Nous essaierons d'exécuter Grep dans Python et d'examiner un fichier pour un modèle défini dans le code ci-dessous. Nous utilisons le mode de lecture pour ouvrir le fichier et la boucle appropriés via l'informatique ligne par ligne. Ensuite, nous utilisons le re.Méthode Search () pour trouver le modèle requis dans chaque ligne. La ligne est imprimée si le motif est détecté.

Importer RE
avec ouvert ("démo.txt "," r ") en tant que fichier_one:
patn = "second"
pour la ligne dans file_one:
Si re.Recherche (Patn, ligne):
Imprimer (ligne)

Voici la sortie, qui montre clairement que le modèle se trouve dans le fichier.

Exemple 4:

Il y a une autre façon brillante de le faire avec Python via la ligne de commande. Cette méthode utilise la ligne de commande pour spécifier l'expression régulière et le fichier à rechercher, et n'oubliez pas le terminal pour exécuter le fichier. Cela nous permet de reproduire avec précision le grep à Python. Cela se fait avec le code ci-dessous.

Importer RE
importer sys
avec ouvert (sys.argv [2], "r") comme file_one:
pour la ligne dans file_one:
Si re.Recherche (sys.Argv [1], ligne):
Imprimer (ligne)

La fonction argv () du module sys génère une séquence contenant tous les arguments fournis à la ligne de commande. Nous pouvons l'enregistrer par le nom de Grep.py et exécuter un script python spécifique de la coquille avec les arguments suivants.

Conclusion:

Pour rechercher un fichier en utilisant Grep dans Python, importez le package «RE», téléchargez le fichier et utilisez un pour itérater pour itérater sur chaque ligne. À chaque itération, utilisez le re.méthode search () et l'expression regex comme argument principal et la ligne de données comme la seconde. Nous avons passé en détail le sujet avec plusieurs exemples dans cet article.