GNU/Linux >> Tutoriels Linux >  >> Linux

Comment trouver plusieurs chaînes dans des fichiers ? ?

Cette question a déjà des réponses ici :Comment combiner deux instructions grep et afficher leurs résultats ensemble ?

(4 réponses)
Fermé il y a 7 ans.

J'utilise la commande suivante pour rechercher des fichiers avec une chaîne donnée :

find /var/www/http -type f | xargs grep -iR "STRING1"

Mais comment puis-je trouver des fichiers contenant "STRING1" OU "STRING2" OU "STRING3" ?

Ce code ne fonctionne pas :

find /var/www/http -type f | xargs grep -iR "STRING1" | xargs grep -iR "STRING2"

Réponse acceptée :

POSIXly, en utilisant grep avec -E choix :

find /var/www/http -type f -exec grep -iE 'STRING1|STRING2' /dev/null {} +

Ou -e :

find /var/www/http -type f -exec grep -i -e 'STRING' -e 'STRING2' /dev/null {} +

Avec certaines implémentations, au moins sur les systèmes GNU, OSX et FreeBSD, vous pouvez échapper | :

find /var/www/http -type f -exec grep -i 'STRING1\|STRING2' /dev/null {} +

Linux
  1. Comment compresser plusieurs fichiers sous Linux

  2. Comment Grep Dans Des Fichiers Pdf ?

  3. Comment rechercher dans des fichiers spécifiques correspondant à un modèle ?

  4. Comment renommer plusieurs fichiers à l'aide de Find ?

  5. Comment trouver des fichiers contenant deux chaînes ensemble sous Linux ?

Comment trouver une chaîne ou un mot spécifique dans les fichiers et les répertoires

Commande Grep sous Linux (Rechercher du texte dans des fichiers)

Comment Grep pour plusieurs chaînes et modèles

Comment compter les fichiers dans le répertoire sous Linux

Comment trouver une chaîne dans un fichier sous Linux

Comment trouver des fichiers dans Debian