Observe que \b
, em grep
implementações que o suportam, é para a transição entre um caractere de palavra (alnum e sublinhado) e um caractere não de palavra (ou vice-versa). Então, \bPattern\b
corresponderia em foo-Pattern.bar
, por exemplo.
Se você está procurando uma palavra em Pattern delimitada em branco, não é possível usar \b
.
Aqui, parece que você está procurando por um Pattern
delimitado em branco, seguido por uma lista de zero ou mais strings delimitadas em branco que possuem caracteres diferentes de letras e -
, portanto:
non_word='([^[:blank:]]*[^[:blank:][:alpha:]-][^[:blank:]]*)'
grep -E "(^|[[:blank:]])Pattern([[:blank:]]+$non_word)*[[:blank:]]*$"