Experimente um dos:
grep -w "deiauk" textfile
grep "\<deiauk\>" textfile
Eu tenho um arquivo de texto:
deiauk 1611516 afsdf 765
minkra 18415151 asdsf 4152
linkra sfsfdsfs sdfss 4555
deiauk1 sdfsfdsfs 1561 51
deiauk2 115151 5454 4
deiauk 1611516 afsdf ddfgfgd
luktol1 4545 4 9
luktol 1
e quero corresponder exatamente a deiauk
. Quando faço isso:
grep "deiauk" file.txt
Eu recebo este resultado:
deiauk 1611516 afsdf 765
deiauk1 sdfsfdsfs 1561 51
deiauk2 115151 5454 4
mas eu só preciso disso:
deiauk 1611516 afsdf 765
deiauk 1611516 afsdf ddfgfgd
Eu sei que há uma opção -w
, mas minha string tem que fazer uma linha inteira.
Tente isso com o GNU grep
e marque os limites das palavras com \b
:
grep "\bdeiauk\b" file
Saída:
deiauk 1611516 afsdf 765
Veja: link
Se o seu grep
suportar -P
(PCRE), você pode fazer:
$ grep -P '(^|\s)\Kdeiauk(?=\s|$)' file.txt
deiauk 1611516 afsdf 765
deiauk 1611516 afsdf ddfgfgd
Dependendo dos seus dados reais, você pode procurar a palavra seguida por um espaço:
grep 'deiauk ' file.txt
Se você sabe que tem que estar no começo da linha, verifique:
grep '^deiauk ' file.txt
Tags grep