Supposons que vous recherchiez un fichier sous Linux mais que vous ayez oublié son nom. Vous vous souvenez uniquement du contenu du fichier. Comment retrouverez-vous le dossier dans ce cas ? Eh bien, il existe quelques méthodes utiles qui vous aideront à trouver un fichier contenant un texte (ou une chaîne) spécifique sous Linux. La chaîne doit être spécifiée par l'utilisateur. Voyons donc les méthodes :
Méthodes pour rechercher tous les fichiers contenant du texte spécifique (chaîne) sous Linux
Méthode 1 : commande grep
commande grep sous Linux qui est utilisé pour rechercher des fichiers contenant un texte ou une chaîne spécifique. Par défaut, il nous montre les lignes des fichiers qui contiennent le texte particulier. Si nous y ajoutons l'option -l, la commande nous montrera tous les fichiers contenant le texte particulier.
Exemple:
Supposons que nous ayons un répertoire contenant deux fichiers nommés file1.txt et file2.txt.
Contenu du fichier1.txt :
This line contains text.>
Contenu du fichier2.txt :
You should learn Data Structures & Algorithms.>
Maintenant, nous allons utiliser la commande grep avec l'option -l pour rechercher du texte dans des fichiers donnés situés dans le répertoire courant. Voir l'exemple suivant :

L'exemple ci-dessus peut clairement indiquer que la commande grep a réussi à trouver la chaîne donnée dans file1.txt. En conséquence, le nom du fichier s'est affiché à l'écran.
Nous pouvons également utiliser l'option -i pour dire à grep d'ignorer la casse. Regardez l'exemple suivant :

Ci-dessus, nous avons d'abord utilisé la commande précédente, mais la chaîne donnée est Text. Étant donné que file1.txt contient du texte et non du texte, il n'est pas pris en compte. Ici, l'opération de recherche est effectuée en gardant le cas à l'esprit. Ensuite, nous avons utilisé l'option -i. Par conséquent, la casse est ignorée et la chaîne donnée correspond à celle contenue dans file1.txt. Par conséquent, le nom du fichier est affiché à l'écran.
Une autre variante consiste à utiliser l'option -r. Il suggère à grep de rechercher la chaîne donnée dans le répertoire courant et ses sous-répertoires de manière récursive. Regardez l'exemple ci-dessous :

file1.txt et file2.txt se trouvent dans le dossier des fichiers, pas dans le répertoire actuel, c'est-à-dire le bureau. Ainsi, si nous n’utilisons pas l’option -r, aucun fichier avec les chaînes correspondantes ne sera trouvé car ils n’existent pas dans le répertoire courant. Mais nous avons utilisé l'option -r et avons également omis les noms de fichiers. En conséquence, grep recherche les chaînes correspondantes non seulement dans le répertoire actuel mais également dans ses sous-répertoires. Par conséquent, file1.txt est trouvé et affiché à l’écran.
Méthode 2 : la combinaison des commandes find et grep
trouver est une autre commande utile sous Linux. Nous combinerons find avec l'option -type f pour rechercher des fichiers et l'option -exec pour appliquer grep sur les fichiers trouvés. Regardez l'exemple suivant :
a le prochain java

De toute évidence, l'opération de recherche trouve file1.txt car il contient la chaîne correspondante. Par conséquent, le nom du fichier est affiché à l'écran.
Méthode 3 : Rechercher des fichiers contenant du texte spécifique avec mc
Nous pouvons également rechercher des fichiers en utilisant Midnight Commander (mc). Ouvrez l'application et appuyez sur Alt + Maj + ? pour ouvrir la boîte de dialogue Rechercher un fichier. Vous verrez une boîte de départ en haut. Dans la zone, saisissez le chemin où se trouvent les fichiers. Ensuite, sous la zone de contenu, saisissez la chaîne que vous souhaitez rechercher. Dans notre cas, nous avons recherché du texte dans le répertoire Files :

On peut clairement voir ci-dessous que l'opération de recherche a réussi à trouver file1.txt, qui contient la chaîne correspondante.

Méthode 4 : commande ripgrep
ripgrep (écrit rg) est une commande qui peut être utilisée comme alternative à la commande grep. La mise en œuvre est ci-dessous :

file1.txt est trouvé et par conséquent, le nom du fichier est affiché à l'écran.
Méthode 5 : commande ack
Une autre commande que nous pouvons utiliser est la commande ack. Voici la mise en œuvre :

file1.txt est trouvé et affiché avec succès à l’écran.