É possível, usando grep, procurar instâncias de John Smith
mas excluir instâncias de Mr John Smith
?
É possível, usando grep, procurar instâncias de John Smith
mas excluir instâncias de Mr John Smith
?
Respostas:
Isso pode ser resolvido usando uma expressão regular com lookbehind negativo (que é experimentalmente suportado grep
conforme apontado pelo comentário do organize):
$ grep -P '(?<!Mr )John Smith' file
Como o suporte é apenas experimental, convém usar perl
:
$ perl -nle 'print if /(?<!Mr )John Smith/' file
Para usar expressões regulares, use ^ e $
grep "^John Smith$"
^ é correspondência do começo $ é correspondência do fim.
A sintaxe varia de acordo com o que você está procurando e em qual arquivo.
Você pode usar expressões regulares com sed, grep, awk ....
Exemplo
bodhi@Ubuntu:~ cat file
Mr John Smith
John Smith
John
Smith
bodhi@Ubuntu:~ grep "^John Smith$" file
John Smith
echo $string | grep -P '(?<!Mr )John Smith'
.