Windows Tips & News

Rechercher des fichiers contenant du texte spécifique sous Linux

click fraud protection

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.

Roman Linev, auteur chez Winaero

L'outil Desktop App Converter de Microsoft permet aux développeurs de convertir facilement leurs ...

Lire la suite

Roman Linev, auteur chez Winaero

Il y a quelque temps, Microsoft a annoncé que son service de création de panoramas à 360°, appelé...

Lire la suite

Supprimer et désinstaller les widgets de Windows 11

Supprimer et désinstaller les widgets de Windows 11

Il est désormais possible de supprimer et de désinstaller les widgets de Windows 11. Les widgets ...

Lire la suite