Sim.
$ sed 's/\<Hit\>/OK/g' file
asdasdasdHit Hitasdasd OK OK
Hitasda OK OK asdaHit OK OK
OK Hitasda OK
...
...
O \<
corresponderá a um limite de palavra de comprimento zero no início de uma palavra e \>
fará o mesmo no final de uma palavra.
O zero-comprimento-ness de \<
e \>
significa que eles não corresponderão a nenhum caractere em si, mas forçam o padrão adjacente a corresponder em um limite de palavra.
Um limite de palavras é um ponto em uma string onde um caractere alfanumérico é adjacente a um caractere não alfanumérico, como o ponto entre ␣
(um espaço) e H
e o ponto entre t
e ␣
(outro espaço) na string ␣Hit␣
, ou o ponto entre o t
e a nova linha imediatamente seguinte em todos os três
linhas nos dados do exemplo.
Com o% GNUsed
, você pode usar \b
no lugar de \<
e \>
(embora também entenda \<
e \>
):
$ sed 's/\bHit\b/OK/g' file
... mas o BSD sed
não entende \b
.