A saída do arquivo padrão grep depende da ordem dos padrões no arquivo padrão?

2

Estou executando o Mac OS X, portanto, o UNIX e eu estamos obtendo o que me parece um resultado estranho.

Eu tenho dois arquivos padrão:

file1

PAMR1
PAM

file2

PAM
PAMR1

A execução de grep -w -f my_file results.csv fornece resultados diferentes para os arquivos diferentes.

grep -w -f file2 file2 retorna:

PAM

Mas grep -w -f file1 file2 retorna:

PAM
PAMR1

O que está acontecendo aqui?

    
por jaslibra 13.08.2017 / 16:24

1 resposta

0

A saída do grep não depende da ordem dos padrões em um arquivo, contanto que você peça ao grep para imprimir linhas inteiras e não para identificar a parte da linha que corresponde (por exemplo, com o -o ou --color opção).

A menos que haja um bug no grep, isso é. Como identificado por Sundeep nos comentários, há um bug no grep no FreeBSD / macOS que faz com que ele perca um padrão quando outro padrão anterior no arquivo é um prefixo dele.

    
por 14.08.2017 / 01:56