Às vezes, menos incorretamente reconhece o arquivo como binário e tenta mostrar o hexdump no LHS (geralmente aqueles com caracteres não alfanuméricos, mas ainda contendo caracteres ASCII imprimíveis). Como forçá-lo a reconhecê-lo como texto?
Às vezes, menos incorretamente reconhece o arquivo como binário e tenta mostrar o hexdump no LHS (geralmente aqueles com caracteres não alfanuméricos, mas ainda contendo caracteres ASCII imprimíveis). Como forçá-lo a reconhecê-lo como texto?
Respostas:
Eu acho que você tem (ou sua distribuição tem) um LESSOPEN
filtro configurado para less
. Tente o seguinte para dizer less
para não usar o filtro:
less -L my_binary_file
Para mais exploração, tente também echo $LESSOPEN
. Provavelmente contém o nome de um script de shell ( /usr/bin/lesspipe
para mim), que você pode ler para ver que tipo de filtros existem. Tente também man less
e leia a seção Pré-processador de entrada .
Para o caso de LESSOPEN
não ser o problema. As seguintes less
opções podem ser tentadas:
-f
ou --force
: Além de permitir a abertura de arquivos não regulares, "também suprime a mensagem de aviso quando um arquivo binário é aberto".-r
ou --raw-control-chars
: "Faz com que caracteres de controle brutos sejam exibidos. O padrão é exibir caracteres de controle usando a notação de sinal de intercalação; por exemplo, um controle A (octal 001) é exibido como ^A
. Aviso: quando a -r
opção é usada, menos não é possível acompanhar da aparência real da tela (uma vez que isso depende de como a tela responde a cada tipo de caractere de controle) Portanto, vários problemas de exibição podem resultar, como longas filas sendo divididas no lugar errado.-R
ou --RAW-CONTROL-CHARS
: Na forma mais fraca -r
acima, apenas as seqüências de escape "cor" ANSI são exibidas na forma "bruta". "Ao contrário de -r, a aparência da tela é mantida corretamente na maioria dos casos." Isso é útil se você estiver, por exemplo, visualizando um arquivo de log que usa sequências de controle de cores ANSI.Você pode experimentar pressionando as teclas -seguidas rsem executar novamente less
. Você pode adicionar essas opções à LESS
variável de ambiente para tornar a configuração permanente (por exemplo, modificando seu arquivo de perfil do shell); se o seu terminal mostrar cores, recomendo adicionar -R
na sua LESS
configuração. Você deve se certificar de que o seu terminal está configurado para usar a mesma codificação de caracteres do seu arquivo de texto.
cat somefile
aparece como ASCII, masless somefile
diz que pode ser binário e exibido como tal.echo $LESSOPEN
está vazio eless -L
não ajuda.