GNU/Linux >> Tutoriels Linux >  >> Linux

Recherche d'une chaîne dans plusieurs fichiers sous Linux

Vous devez avoir des privilèges de lecture sur les fichiers dans lesquels vous effectuerez la recherche. Si vous les avez, utilisez simplement

grep -r "foo" /home/thisuser/bar/baz/*

pour rechercher dans un certain dossier ou

grep "foo" /home/thisuser/bar/baz/somefile.txt

si vous avez besoin de rechercher dans un fichier spécifique, dans ce cas "unfichier.txt". Fondamentalement, la syntaxe est

grep [options] [searched string] [path]
// -r is an option which states that it will use recursive search

D'autres options utiles sont "-n" pour montrer sur quelle ligne dans quel fichier se trouve la chaîne, "-i" pour ignorer la casse, "-s" pour supprimer certains messages comme "can't read file" ou "not found" et "-I" pour ignorer les fichiers binaires.

Si vous utilisez

grep -rnisI "foo" /home/thisuser/bar/baz/*

vous saurez exactement où chercher.


Linux
  1. Linux - Comment savoir pour quoi Grep dans Dmesg ?

  2. Grep pour plusieurs chaînes dans des fichiers, puis répertorier les fichiers dans l'ordre de taille ?

  3. Canaliser vers plusieurs fichiers dans le shell ?

  4. Comment trouver plusieurs chaînes dans des fichiers ? ?

  5. Suppression d'une partie d'un nom de fichier pour plusieurs fichiers sous Linux

Commande ls sous Linux pour lister les fichiers

Comment trouver une chaîne dans un fichier sous Linux

8 méthodes pour renommer plusieurs fichiers à la fois sous Linux

Linux recherche une chaîne dans des dossiers et des fichiers avec ack

Rechercher du texte dans des fichiers sous Linux à l'aide de grep

Linux renommer l'extension de plusieurs fichiers