Guide du débutant

Comment trouver une chaîne dans un fichier sous Linux

Comment trouver une chaîne dans un fichier sous Linux

Parfois, vous devrez peut-être rechercher un mot particulier ou une chaîne dans un fichier. Pour ce faire, presque tous les éditeurs de texte ont une implémentation graphique pour vous aider. Mais pour les utilisateurs de Linux, il est beaucoup plus productif et pratique de faire ces recherches à partir de la ligne de commande.

En fait, Linux dispose d'un utilitaire de ligne de commande puissant et pratique - la commande grep à cet effet. En utilisant cela, vous pouvez rechercher une chaîne particulière non seulement dans un fichier, mais dans plusieurs fichiers pour une recherche plus complète.

Cependant, avant de pouvoir utiliser la commande grep, vous devez d'abord connaître son fonctionnement et ses syntaxes. Et donc, pour vous aider, nous avons élaboré un guide détaillé sur l'utilisation de la commande grep pour vous aider à trouver des chaînes dans un fichier sous Linux. Non seulement cela, mais nous vous montrerons également comment rechercher des chaînes dans des fichiers via l'éditeur de texte en ligne de commande et l'éditeur de texte GUI.

Noter: Pour ce tutoriel, nous avons créé deux fichiers texte de démonstration - demofile.txt et demofile02.SMS. Nous utiliserons la commande grep pour trouver des chaînes dans ces fichiers. Voici un aperçu du contenu de ces deux fichiers afin que vous sachiez comment fonctionnent les commandes.

Contenu du fichier de démonstration.SMS:

Ceci est un fichier de démonstration que j'ai créé à des fins de démonstration. Cela contient un tas de mots pour créer des phrases qui se terminent finalement par un point. C'est pour l'exemple grep.

Contenu de demofile02.SMS:

Ceci est un autre fichier de démonstration que je vais utiliser pour cette démonstration. Celui-ci est similaire au dernier car il contient trois lignes avec quelques mots. Ce deuxième fichier permettra de fournir des exemples diversifiés.

Recherche de chaînes dans un fichier via la ligne de commande (méthode GREP)

GREP est l'abréviation de Global Regular Expression Print. C'est "Global" car il peut rechercher l'ensemble de votre système Linux. « Expression régulière » est ce que nous appelons le modèle de recherche de texte que nous utiliserons avec la commande. Et "Imprimer" signifie qu'il imprimera les résultats de la recherche dès qu'il trouvera une correspondance basée sur l'expression régulière fournie.

Maintenant que vous avez une idée de ce qu'est la commande grep, voyons comment nous pouvons l'utiliser. Voici la syntaxe permettant d'utiliser la commande grep pour rechercher une chaîne dans un fichier :

$ grep chaîne nom de fichier

Vous devrez remplacer l'expression "chaîne" par "l'expression régulière" que vous souhaitez utiliser et le "nom de fichier" par le nom du fichier dans lequel vous souhaitez rechercher la chaîne.

#1. Utilisation de GREP pour rechercher une chaîne dans un fichier

Donc, disons que si vous voulez rechercher le mot « demonstration » dans le fichier « demofile.txt", vous devrez utiliser cette commande :

$ demofichier de démonstration grep.SMS

Ce qui donne la sortie :

Utilisation de GREP pour rechercher une chaîne dans un fichier

Comme vous pouvez le voir, la commande récupère la ligne entière contenant la chaîne fournie. Si la chaîne spécifiée apparaît sur plusieurs lignes, il les imprimera toutes. Voyons si cela fonctionne en recherchant la chaîne "This" dans le "demofile.txt" fichier.

$ grep Ce demofile.SMS

Et la sortie est :

grep est sensible à la casse

Notez comment vous avez utilisé la chaîne « this » en premier et qu'elle n'a rien imprimé. Ce n'est que lorsque vous entrez « Ceci » que vous obtenez une correspondance. En tant que tel, vous devez vous rappeler que la commande grep est sensible à la casse.

Pour ignorer la casse, vous devrez plutôt saisir cette commande :

$ grep -i ce fichier demo.SMS

Comment ignorer la casse dans la commande grep

Comme vous pouvez le voir maintenant, même si la chaîne fournie est « ceci », la commande correspond à « Ceci » et imprime cette réponse.

#2. Utilisation de GREP pour rechercher la même chaîne dans plusieurs fichiers

Pour rechercher dans plusieurs fichiers la chaîne fournie, il vous suffit d'ajouter la commande avec tous les noms de fichiers.

Voici un exemple. Ici, nous recherchons la chaîne « mots » dans les fichiers « demofile.txt" et "demofile02.SMS":

$ grep mots demofile.txt fichierdemo02.SMS

Et la sortie est :

Utilisation de GREP pour rechercher la même chaîne dans plusieurs fichiers

Comme vous pouvez le voir, la commande grep vous montrera non seulement le résultat correspondant, mais aussi étiquetera facilement de quel fichier il provient.

#3. Utilisation de GREP pour rechercher plusieurs chaînes dans plusieurs fichiers

Vous pouvez également utiliser grep pour rechercher plusieurs chaînes dans un ou plusieurs fichiers. Voici la syntaxe que vous devrez utiliser :

$ grep -E 'pattern1|pattern2|pattern3|… ' filename1 filename2 filename3… 

L'option -E que nous avons saisie traite le modèle suivant comme une expression régulière étendue, ce qui nous permet de rechercher plusieurs chaînes.

Utilisons maintenant ce que nous avons appris pour rechercher les chaînes « fichier » et « mots » dans les deux fichiers : « demofile.txt" et "demofile02.SMS":

$ grep -E 'fichier|mot' fichier demo.txt fichierdemo02.SMS

Et la sortie est :

Utilisation de GREP pour rechercher plusieurs chaînes dans plusieurs fichiers

#4. Trucs et astuces pour utiliser la commande GREP pour rechercher des chaînes

Malgré sa simplicité générale, la commande grep est extrêmement puissante. Voici quelques façons d'utiliser la commande grep pour des recherches de chaînes avancées.

Par exemple, saviez-vous que vous pouvez utiliser la commande grep avec des caractères génériques? Considérons cette commande :

$ grep word demofile*

Ce qui donne la sortie :

grep et caractères génériques

Comme vous pouvez le voir, la commande a recherché et affiche maintenant les résultats pour les deux fichiers "demofile.txt" et "demofile02.SMS". C'est parce que nous avons utilisé le caractère générique astérisque (*) utilisé pour représenter une ou plusieurs occurrences d'un caractère.

Pour plus d'informations sur les différents types de caractères génériques et leur utilisation, vous pouvez consulter ceci : Les caractères génériques sous Linux expliqués avec 10 exemples.

Pour continuer, la commande grep prend également en charge des tonnes d'options de commande. Nous en avons déjà vu deux :

Il existe de nombreuses autres options de commande grep telles que :

Tout ce dont nous avons discuté jusqu'à présent devrait vous aider à rechercher des chaînes dans les fichiers. Cependant, si vous souhaitez maîtriser la commande GREP, nous vous recommandons de consulter ces deux articles :

Rechercher des chaînes dans un fichier via la ligne de commande (à l'aide d'éditeurs de texte en ligne de commande)

La commande grep est un outil puissant qui peut vous aider à effectuer des recherches avancées pour faire correspondre des chaînes avec plusieurs fichiers et répertoires sur votre PC Linux. Cependant, si vous avez déjà ouvert le fichier dans un éditeur de texte en ligne de commande, il n'est pas nécessaire de quitter l'éditeur de fichier et d'utiliser la commande grep.

En fait, la plupart des éditeurs de texte en ligne de commande sont déjà livrés avec une fonctionnalité de recherche intégrée.

Maintenant, il est au-delà de la portée de ce tutoriel pour couvrir chaque éditeur de texte de ligne de commande et comment trouver des chaînes dans un fichier ouvert dans cet éditeur de texte. En tant que tel, nous examinerons les deux éditeurs de texte en ligne de commande les plus populaires que vous êtes obligé d'utiliser :

Comment trouver une chaîne de texte dans nano?

Disons que vous avez ouvert le fichier dans l'éditeur de texte nano. Dans ce cas, tout ce que vous avez à faire est d'appuyer sur Ctrl+W, et vous trouverez une nouvelle invite pour taper la chaîne.

Une fois terminé, appuyez sur Entrée et le curseur atterrira sur le premier caractère de la première occurrence de la chaîne recherchée. Vous pouvez continuer à appuyer sur Entrée pour accéder aux autres instances de chaîne, le cas échéant.

Comment trouver une chaîne de texte dans nano

Comment trouver une chaîne de texte dans vim?

Si vous utilisez l'éditeur de texte vim, vous pouvez taper :/ suivi de la chaîne que vous souhaitez rechercher, puis appuyez sur Entrée. Semblable à avant, il placera le curseur sur la première occurrence de la chaîne recherchée. Ici aussi, vous pouvez continuer à appuyer sur Entrée pour passer aux autres instances de la chaîne.

Comment trouver une chaîne de texte dans vim

Rechercher des chaînes dans un fichier via la ligne de commande (méthode GUI)

Il existe même une méthode GUI pour trouver des chaînes dans un fichier. En substance, elle est similaire à la fonction « rechercher et remplacer » que vous voyez sur Microsoft Word ; cependant, cela variera en fonction de l'éditeur de texte GUI que vous utilisez.

Maintenant, comme vous le savez, il existe des centaines d'éditeurs de texte, et il n'est pas pratique de tous les couvrir ici. Cependant, tous fonctionnent de la même manière, vous n'aurez donc aucun problème à travailler avec d'autres une fois que vous saurez comment l'un d'eux fonctionne.

Pour ce didacticiel, nous utiliserons l'éditeur de texte par défaut fourni avec Ubuntu, appelé - "Text Editor."

Comment trouver une chaîne à l'aide des éditeurs de texte GUI

Comme vous pouvez le voir sur l'image, nous avons ouvert le fichier de démonstration.txt sur l'éditeur. Maintenant, nous cliquons sur le menu déroulant, qui révèle les options pour "Rechercher" et "Rechercher et remplacer", que nous pouvons utiliser pour trouver des chaînes dans le fichier ouvert.

Emballer

Cela nous amène donc à la fin de ce court tutoriel sur la recherche de chaînes dans un fichier sous Linux. Nous espérons que cela vous sera utile et que cela vous a aidé à devenir plus productif dans la recherche de chaînes spécifiques sur votre système Linux.

Si vous avez des questions, laissez-nous un commentaire, et nous serons sûrs de vous aider avec vos questions.

Si vous débutez avec Linux, n'oubliez pas de consulter notre série Apprendre Linux. Il est rempli de tonnes de didacticiels, de procédures et de guides géniaux, conçus pour les débutants et les utilisateurs plus expérimentés pour vous aider à devenir un véritable utilisateur expérimenté de Linux.

Meilleures applications de mappage de manette de jeu pour Linux
Si vous aimez jouer à des jeux sur Linux avec une manette de jeu au lieu d'un système de saisie clavier et souris typique, il existe des applications ...
Outils utiles pour les joueurs Linux
Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...
Jeux HD remasterisés pour Linux qui n'ont jamais eu de version Linux plus tôt
De nombreux développeurs et éditeurs de jeux proposent une remasterisation HD d'anciens jeux pour prolonger la durée de vie de la franchise, veuillez ...