Você provavelmente deseja o -w
flag - de man grep
-w, --word-regexp
Select only those lines containing matches that form whole
words. The test is that the matching substring must either be
at the beginning of the line, or preceded by a non-word
constituent character. Similarly, it must be either at the end
of the line or followed by a non-word constituent character.
Word-constituent characters are letters, digits, and the
underscore.
ou seja,
grep -wFf patfile file
denovo1 xxx yyyy oggugu ddddd
denovo22 hhhh yyyy kkkk iiii
Para impor a correspondência apenas na primeira coluna, você precisaria modificar as entradas no arquivo padrão para adicionar uma âncora de linha : você também poderia usar a âncora \b
word em vez de a linha de comando -w
switch eg em patfile
:
^denovo1\b
^denovo3\b
^denovo22\b
então
grep -f patfile file
denovo1 xxx yyyy oggugu ddddd
denovo22 hhhh yyyy kkkk iiii
Observe que você deve descartar a opção -F
se o arquivo contiver expressões regulares em vez de sequências simples e fixas.