¿Es posible, utilizando grep, buscar instancias John Smith
pero excluir instancias de Mr John Smith
?
¿Es posible, utilizando grep, buscar instancias John Smith
pero excluir instancias de Mr John Smith
?
Respuestas:
Esto podría resolverse utilizando una expresión regular con mirada hacia atrás negativa (que se admite experimentalmente grep
como se señala en el comentario del arreglo):
$ grep -P '(?<!Mr )John Smith' file
Dado que el soporte es solo experimental, es posible que desee utilizar perl
en su lugar:
$ perl -nle 'print if /(?<!Mr )John Smith/' file
Para usar expresiones regulares, use ^ y $
grep "^John Smith$"
^ es coincidencia desde el principio $ es coincidencia desde el final.
La sintaxis variará según lo que esté buscando en qué archivo.
Puede usar expresiones regulares con sed, grep, awk ...
Ejemplo
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'
.