Windows Tips & News

Rechercher des fichiers contenant du texte spécifique sous Linux

Linux, quelle que soit la distribution que vous utilisez, est livré avec un certain nombre d'outils d'interface graphique qui permettent de rechercher des fichiers. De nombreux gestionnaires de fichiers modernes prennent en charge la recherche de fichiers directement dans la liste des fichiers. Cependant, il existe un certain nombre de situations où vous devez utiliser la console, par exemple, lors d'une session SSH ou lorsque le serveur X ne démarre pas. Voici comment trouver rapidement des fichiers contenant du texte spécifique à l'aide du terminal.

Si vous pouvez utiliser l'interface graphique, la recherche de fichiers n'est pas un problème. Dans mon environnement de bureau XFCE préféré, le gestionnaire de fichiers Thunar permet de rechercher des fichiers en tapant le nom du fichier directement dans la liste des fichiers.

Cependant, aucun des gestionnaires de fichiers que j'ai essayés ne permet de rechercher le contenu des fichiers.

Pour contourner cette limitation lorsque vous travaillez dans une session GUI, vous pouvez utiliser flatfish. Flatfish est un outil de recherche populaire. Il permet de rechercher le contenu des fichiers. Vous devez cliquer sur l'icône d'engrenage et activer l'option 

Rechercher le contenu du fichier.

Cependant, en ce qui concerne le terminal, vous ne pouvez utiliser aucun outil graphique. De plus, je trouve que Catfish n'est pas utile et préfère les outils de console classiques. Voici les méthodes et outils que j'utilise.

Pour rechercher des fichiers contenant du texte spécifique sous Linux, procédez comme suit.

  1. Ouvrez votre application de terminal préférée. Borne XFCE4 est ma préférence personnelle.
  2. Tapez la commande suivante :
    find ./ -type f -exec grep -l "texte à trouver" {} \;
  3. Cela produira la liste des fichiers qui contient la portion de texte requise.

La commande find recherchera les fichiers à partir du répertoire courant, "./". Vous pouvez spécifier le chemin souhaité à la place.

L'option -type f lui dit de rechercher uniquement les fichiers et d'exclure les répertoires. En outre, vous pouvez le faire rechercher uniquement un certain type de fichier en ajoutant l'option comme suit :
find ./ -type f -iname "*.txt" -exec grep -l "texte à trouver" {} \;

Voir la capture d'écran suivante :

Les -exec L'option appelle l'outil grep pour chacun des fichiers correspondants afin de vérifier leur contenu. Si le texte est trouvé dans le fichier, son nom sera ajouté à la sortie, grâce au -l option.

Alternatives

Il existe des alternatives aux méthodes décrites ci-dessus. Tout d'abord, vous ne pouvez utiliser que le grep outil. Essayez la commande suivante :

grep -iRl "texte à rechercher" ./

  • -i signifie ignorer la casse du texte.
  • -R signifie traitement de fichier récursif.
  • -l signifie "afficher le nom du fichier, pas le résultat lui-même".

Comme vous pouvez le voir, cette méthode est moins flexible que la trouve commander.

Commandant de minuit

Une autre méthode que j'utilise souvent est Midnight Commander (mc), l'application de gestion de fichiers de la console. Contrairement à find ou grep, mc n'est pas inclus par défaut dans toutes les distributions Linux que j'ai essayées. Vous devrez peut-être l'installer vous-même.

Pour rechercher des fichiers contenant du texte spécifique à l'aide de Midnight Commander, démarrez l'application et appuyez sur la séquence suivante sur le clavier :
Alt + Décalage + ?
Cela ouvrira la boîte de dialogue de recherche.

Remplissez la section « Nom du fichier: ». Vous pouvez spécifier quelque chose comme "*.txt" pour rechercher votre texte dans des fichiers texte uniquement.

Maintenant, remplissez le Teneur: boîte. Tapez le texte que contiennent les fichiers et appuyez sur la touche Entrée.

Il trouvera tous les fichiers qui correspondent aux critères.

C'est ça.

Le Microsoft Store affiche désormais les étiquettes « Composant système » pour les applications de la boîte de réception

Le Microsoft Store affiche désormais les étiquettes « Composant système » pour les applications de la boîte de réception

Semblable au menu Démarrer, l'application Store affiche désormais l'étiquette « Composant système...

Lire la suite

YouTube Music présente Samples, un flux de type TikTok

YouTube Music présente Samples, un flux de type TikTok

L'application YouTube Music a reçu une mise à jour qui introduit un nouveau flux d'échantillons v...

Lire la suite

Xbox a introduit un nouveau système de bannissement basé sur les strikes

Xbox a introduit un nouveau système de bannissement basé sur les strikes

Microsoft a annoncé un nouveau système de sanctions pour les joueurs Xbox qui enfreignent les règ...

Lire la suite