Est-il possible, à l'aide de grep, de rechercher des instances de John Smith
mais d'exclure des instances de Mr John Smith
?
Cela pourrait être résolu en utilisant une expression régulière avec lookbehind négatif (qui est supporté expérimentalement dans grep
comme le souligne le commentaire de arrange):
$ grep -P '(?<!Mr )John Smith' file
Comme le support n’est qu’expérimental, vous pouvez utiliser plutôt Perl
:
$ Perl -nle 'print if /(?<!Mr )John Smith/' file
Vous pouvez exécuter
command | grep 'John Smith' | grep -v 'Mr John Smith'
Pour utiliser des expressions régulières, utilisez ^ et $
grep "^John Smith$"
^ est la correspondance du début $ est la correspondance de la fin.
La syntaxe varie en fonction de ce que vous recherchez dans quel fichier.
Vous pouvez utiliser des expressions régulières avec sed, grep, awk ....
Exemple
bodhi@Ubuntu:~ cat file
Mr John Smith
John Smith
John
Smith
bodhi@Ubuntu:~ grep "^John Smith$" file
John Smith