A maioria das implementações grep
suportam uma opção -w
para a correspondência palavra :
grep -wF audio.itunes.apple.com
Ou para a implementação de grep
(como o Solaris ') que não pode usar -w
em combinação com -F
:
grep -w 'audio\.itunes\.apple\.com'
Somente encontrará linhas que contenham audio.itunes.apple.com
, desde que não seja precedida nem seguida por um caractere de palavra (caracteres alfanuméricos ou de sublinhado (restritos aos de um único byte para versões do GNU% co_de) % antes de 2.19)). Algumas implementações de grep
como no Solaris também restringem a cadeia de caracteres combinada para iniciar (embora não necessariamente final) com um caractere de palavra, a menos que esse caractere não esteja no início da linha (embora isso não faça diferença nesse caso) caractere da parte correspondente sempre será grep
, um caractere de palavra).
Então, aqui, ele corresponderia a a
, porque http://audio.itunes.apple.com
é um caractere sem palavra, mas não em /
, pois o http://streamingaudio.itunes.apple.com
que precede g
é um caractere de palavra.
O equivalente POSIX seria:
grep -E '(^[^[:alnum:]_])audio\.itunes\.apple\.com([^[:alnum:]_]|$)'
Ou com BREs:
grep -x '\(.*[^[:alnum:]_]\)\{0,1\}audio\.itunes\.apple\.com\([^[:alnum:]_].*\)\{0,1\}'
Algumas implementações de audio
, incluindo% GNUgrep
, suportam um operador grep
regexp que corresponde à transição entre uma palavra que não é uma palavra (Solaris \<
' grep
tem a mesma restrição extra ímpar como para \<
acima). Então você pode usar:
grep '\<audio\.itunes\.apple\.com'
com essas implementações -w
.