Diff outputs “arquivos binários file1 file2 differ” mas não a saída de detalhe usual

0

Eu gostaria de comparar dois arquivos - "orienv" e "currenv", usando o comando diff .

A maneira como eu criei os dois arquivos foi a seguinte:

  1. Criando o arquivo "currenv"

    $cat /proc/1/environ >> currenv
    $cat /pcoc/279/environ >> currenv
    $cat /proc/295/environ >> currenv
    //295 is the pid of the current console
    
  2. Criando o arquivo orienv

    $printenv > orienv
    

Então eu chamei diff como segue

diff -u orienv currenv

e obteve o seguinte resultado

Arquivos binários orienv e currenv diferem

Eu estava esperando uma saída diff normal com o sinalizador -u (por exemplo, saída na qual mostra as diferenças em hunks , indicando qual arquivo tem quais informações o outro não possui.

O que deu errado?

    
por Tran Triet 17.09.2018 / 06:57

1 resposta

0

/ proc / * / environ não são arquivos de texto. use strings:

strings /proc/{1,279,295}/environ >> currenv
env > orienv
diff -u orienv currenv
    
por 17.09.2018 / 07:00

Tags