J'ai un fichier A avec 100 mots séparés par de nouvelles lignes. J'aimerais effectuer une recherche dans le fichier B pour voir si AUCUN des mots du fichier A n'y figure.
J'ai essayé ce qui suit mais cela ne fonctionne pas pour moi:
grep -F A B
Vous devez utiliser l'option -f
:
$ grep -f A B
L'option -F
Effectue une recherche de chaîne fixe où -f
Sert à spécifier un fichier de modèles. Vous voudrez peut-être les deux si le fichier ne contient que des chaînes fixes et non pas des expressions rationnelles.
$ grep -Ff A B
Vous voudrez peut-être aussi l'option -w
Pour faire correspondre les mots entiers uniquement:
$ grep -wFf A B
Lisez man grep
Pour une description de tous les arguments possibles et de ce qu'ils font.
Pour trouver une très longue liste de mots dans de gros fichiers, il peut être plus efficace d’utiliser egrep:
remove the last \n of A
$ tr '\n' '|' < A > A_regex
$ egrep -f A_regex B