GNU/Linux >> Tutoriels Linux >  >> Linux

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

grep -l string2 `grep -l string1 /path/*`

qui est identique à

grep -l string2 $(grep -l string1 /path/*)

Edit :voici pourquoi grep string1 /path/* | grep string2 ne fait pas ce que je pense que alwbtc veut.

$ cd /tmp
$ cat a
apples
oranges
bananas
$ cat b
apples
mangoes
lemons
$ cat c
mangoes
limes
pears
$ cd ~
$ grep apples /tmp/* | grep mangoes
$

Rien trouvé, mais le fichier b contient les deux chaînes.

Voici ce que je pense que alwbtc veut

$ grep -l apples $(grep -l mangoes /tmp/*)
/tmp/b

Pipe un grep dans un autre :

grep "string1" /path/to/files/* | grep "string2"


Linux
  1. Comment trouver les fichiers modifiés récents ou d'aujourd'hui sous Linux

  2. Comment utiliser la commande Grep pour rechercher du texte dans des fichiers

  3. Comment joindre deux fichiers texte sous Linux

  4. Comment trouver des fichiers en double sous Linux

  5. Comment trouver des lignes contenant une chaîne sous Linux

Comment trouver des fichiers en fonction de leurs autorisations sous Linux

Comment afficher deux fichiers côte à côte sous Linux

Comment trouver des fichiers basés sur l'horodatage sous Linux

Comment trouver des fichiers contenant une chaîne de texte spécifique sous Linux

Comment comparer deux fichiers dans un terminal Linux

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